第1章 虚拟用户开发基础 1
1.1 虚拟用户开发简介 1
1.1.1 Vuser开发准备工作 2
1.1.2 脚本协议选择 2
1.1.3 脚本的一般构成 4
1.1.4 几个重要的概念 6
1.1.5 脚本调试方法 10
1.1.6 学习建议 15
1.2 C语言与Vuser脚本 15
1.2.1 常用的基本概念 15
1.2.2 数组、指针、字符串 19
1.2.3 printf函数用法 33
1.2.4 分支与循环语句 34
1.2.5 Vuser中常用的C语言函数 37
1.2.6 文件基础操作 47
1.3 Vuser开发常用函数 58
1.3.1 用户事务函数 58
1.3.2 字符串处理函数 67
1.3.3 消息处理函数 68
1.3.4 脚本信息函数 80
1.3.5 错误处理函数 84
1.4 参数化功能详解 86
1.4.1 参数化基础知识 86
1.4.2 File类型参数详解 89
1.4.3 参数化应用举例 97
1.5 小结 100
第2章 深入Web虚拟用户 101
2.1 Web虚拟用户概述 101
2.2 HTTP协议知识 102
2.2.1 HTTP简介 102
2.2.2 HTTP常用术语 102
2.2.3 HTTP会话过程 103
2.2.4 HTTP消息类型 106
2.2.5 消息起始行 107
2.2.6 消息头域 110
2.2.7 消息主体 113
2.2.8 查看HTTP数据 114
2.3 Cookies应用知识 114
2.3.1 Cookies基础知识 114
2.3.2 Cookie常用函数 116
2.3.3 Cookie常见问题 116
2.4 检查点技术详解 117
2.4.1 检查点简介 117
2.4.2 文本检查点 118
2.4.3 图像检查点 130
2.4.4 全局检查点 133
2.4.5 应用举例 137
2.5 关联应用技术详解 139
2.5.1 关联简介 139
2.5.2 关联函数 139
2.5.3 自动关联 142
2.5.4 手工关联 147
2.5.5 应用实例 155
2.6 部分常用函数 162
2.6.1 动作函数 162
2.6.2 授权函数 168
2.6.3 其他函数 170
2.7 一些常见问题 172
2.8 小结 178
第3章 深入Windows Sockets虚拟用户 179
3.1 Sockets协议虚拟用户简介 179
3.2 Socket协议虚拟用户函数 181
3.2.1 基本函数 181
3.2.2 关联函数 191
3.2.3 超时函数 195
3.2.4 Buffer函数 197
3.3 使用代理方式录制Web脚本 202
3.3.1 代理录制方式简介 202
3.3.2 代理录制百度搜索 202
3.4 Socket协议虚拟用户案例 214
3.4.1 待测试Socket程序简介 214
3.4.2 单机代理方式录制脚本 218
3.4.3 多机代理方式录制脚本 225
3.4.4 Socket脚本的参数化 229
3.5 小结 231
第4章 深入Visual C++动态链接库 233
4.1 动态链接库概述 234
4.1.1 静态库与动态库 234
4.1.2 动态链接库的种类 234
4.1.3 在脚本中使用DLL 235
4.1.4 DLL适应范围 237
4.1.5 学习提示 237
4.2 创建Win32动态链接库 238
4.2.1 创建自己的Win32动态链接库 238
4.2.2 Dumpbin与Depends工具 242
4.3 在Visual C++中使用DLL 245
4.3.1 隐式加载 245
4.3.2 头文件问题 254
4.3.3 显式加载 257
4.4 解决名字改编问题 261
4.4.1 extern“C”标志 261
4.4.2 模块定义文件 263
4.4.3 函数调用约定 269
4.5 动态链接库扩展知识 274
4.5.1 导出与封装C++类 274
4.5.2 MFC动态链接库简介 279
4.5.3 DLLMain函数简介 283
4.6 小结 287
第5章 深入.NET虚拟用户 289
5.1 认识.NET虚拟用户 290
5.1.1 .NET虚拟用户适用范围 290
5.1.2 安装与配置.NET插件 290
5.2 创建.NET虚拟用户 293
5.2.1 创建虚拟用户项目 293
5.2.2 参数化、集合点、事务 294
5.3 基于.NET的面向对象基础 300
5.4 .NET虚拟用户常用程序 307
5.4.1 文件工具类FileUtil 307
5.4.2 目录工具类Directory Util 313
5.4.3 XML工具类XMLUtil 316
5.4.4 主机信息类HostInformation 318
5.4.5 HTTP工具类HttpTools 320
5.4.6 日期工具类DateTimeTools 322
5.4.7 进程工具类ProccessTools 323
5.4.8 常用工具类Tools 325
5.5 C/S应用开发与测试案例 329
5.5.1 CommandRunner背景介绍 330
5.5.2 CommonSDK设计与实现 331
5.5.3 CommandListener设计与实现 335
5.5.4 CommandCenter设计与实现 348
5.5.5 .NET虚拟用户脚本开发 356
5.5.6 案例总结 363
5.6 视频播放性能测试案例 363
5.6.1 创建自定义的播放器类 364
5.6.2 创建抽象虚拟用户类 368
5.6.3 创建抽象并发测试类 373
5.6.4 创建自定义虚拟用户类与并发测试类 375
5.6.5 创建LoadRunner.NET虚拟用户 378
5.6.6 案例总结 381
5.7 小结 381
第6章 深入Java虚拟用户 383
6.1 认识Java虚拟用户 384
6.1.1 Java虚拟用户协议简介 384
6.1.2 Java虚拟用户适用范围 386
6.1.3 Vuser脚本开发环境配置 387
6.2 Java虚拟用户基础 390
6.2.1 Java虚拟用户开发基础 390
6.2.2 Java虚拟用户常用API 399
6.3 并发下载测试案例 400
6.4 Java算法测试案例 403
6.5 小结 417
第7章 网络通信虚拟用户开发案例 419
7.1 项目背景与学习指导 419
7.1.1 项目背景 419
7.1.2 学习指导 421
7.2 网络协议基础知识 421
7.2.1 TCP/IP构架概述 421
7.2.2 TCP与UDP比较 422
7.3 通信协议设计与分析 423
7.3.1 字节序 424
7.3.2 信息摘要算法 425
7.3.3 数据包格式 426
7.4 中心服务器的设计与实现 428
7.4.1 服务器概述 428
7.4.2 CUDPServer类 430
7.4.3 程序入口 437
7.4.4 包头处理 438
7.4.5 辅助类 442
7.5 客户端设计与实现 445
7.5.1 客户端概述 455
7.5.2 导出函数的实现 461
7.5.3 CUDPCIient包装类 464
7.6 试脚本设计 472
7.6.1 基本功能测试 472
7.6.2 非法协议标志测试 475
7.6.3 非法版本号测试 477
7.6.4 其他测试 478
7.7 小结 478
附录A WAP协议Vuser开发 479
附录B Web Services协议Vuser开发 485
B.1 Web Services协议简介 485
B.2 Web Services脚本开发 486
附录C FTP协议Vuser开发 493
索引 499
参考文献 503