第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 脚本调试方法 11
1.1.6 学习建议 16
1.2 C语言与Vuser脚本 17
1.2.1 常用的基本概念 17
1.2.2 数组、指针和字符串 21
1.2.3 printf函数的用法 36
1.2.4 分支与循环语句 37
1.2.5 Vuser中常用的C语言函数 41
1.2.6 文件基础操作 53
1.3 Vuser开发中常用的函数 65
1.3.1 用户事务函数 65
1.3.2 字符串处理函数 76
1.3.3 消息处理函数 77
1.3.4 脚本信息函数 90
1.3.5 错误处理函数 95
1.4 参数化功能详解 98
1.4.1 参数化的基础知识 98
1.4.2 File类型参数详解 101
1.4.3 参数化应用举例 110
1.5 小结 113
第2章 深入解析Web虚拟用户 115
2.1 Web虚拟用户简介 115
2.2 HTTP的基础知识 116
2.2.1 HTTP介绍 116
2.2.2 HTTP常用术语 116
2.2.3 HTTP会话过程 117
2.2.4 HTTP消息类型 120
2.2.5 消息起始行 122
2.2.6 消息头域 126
2.2.7 消息主体 129
2.2.8 查看HTTP数据 130
2.3 Cookie应用知识 130
2.3.1 Cookie基础知识 130
2.3.2 Cookie常用函数 132
2.3.3 Cookie常见问题 132
2.4 检查点技术详解 134
2.4.1 检查点介绍 134
2.4.2 文本检查点 134
2.4.3 图像检查点 148
2.4.4 全局检查点 152
2.4.5 应用举例 156
2.5 关联应用技术详解 158
2.5.1 关联介绍 158
2.5.2 关联函数 159
2.5.3 自动关联 162
2.5.4 手工关联 168
2.5.5 应用实例 176
2.6 部分常用函数 184
2.6.1 动作函数 184
2.6.2 授权函数 191
2.6.3 其他函数 193
2.7 一些常见问题 195
2.8 小结 203
第3章 深入解析Web Services虚拟用户 204
3.1 认识Web Services虚拟用户 204
3.2 Web service call模式开发Web Services脚本 205
3.2.1 新建Web Services虚拟用户 205
3.2.2 管理Web Services服务 207
3.2.3 增加Web Services服务调用 212
3.3 Soap_ request模式开发Web Services脚本 217
3.3.1 新建Web Services虚拟用户 217
3.3.2 准备Soap报文 219
3.3.3 增加Soap请求 219
3.4 web_ custom_ request模式开发Web Services脚本 223
3.4.1 新建Web (HTTP/HTML)虚拟用户 223
3.4.2 准备Web Services请求报文 224
3.4.3 增加自定义Web请求 225
3.5 小结 228
第4章 深入解析Socket虚拟用户 229
4.1 Socket协议虚拟用户简介 229
4.2 Socket协议虚拟用户函数 231
4.2.1 基本函数 232
4.2.2 关联函数 244
4.2.3 超时函数 250
4.2.4 Buffer函数 252
4.2.5 转换函数 259
4.3 代理方式开发Socket脚本 263
4.3.1 待测试Socket程序介绍 264
4.3.2 单机代理方式录制脚本 269
4.3.3 多机代理方式录制脚本 276
4.3.4 Socket脚本的参数化 282
4.4 测试实战经验分享 283
4.5 脚本日志定位问题案例 289
4.6 小结 296
第5章 深入解析动态链接库技术 297
5.1 动态链接库简介 298
5.1.1 静态库与动态库 298
5.1.2 动态链接库的种类 299
5.1.3 在脚本中使用DLL 300
5.1.4 DLL适应范围 301
5.1.5 学习提示 302
5.2 创建Win32动态链接库 303
5.2.1 创建自己的Win32动态链接库 303
5.2.2 Dumpbin与Depends工具 308
5.3 在Visual C++中使用DLL 312
5.3.1 隐式加载 312
5.3.2 头文件问题 322
5.3.3 显式加载 325
5.4 解决名字改编问题 329
5.4.1 extern“C”标识 330
5.4.2 模块定义文件 332
5.4.3 函数调用约定 338
5.5 动态链接库扩展知识 345
5.5.1 导出与封装C++类 345
5.5.2 MFC动态链接库简介 351
5.5.3 DLLMain函数介绍 355
5.6 测试实战经验分享 359
5.7 小结 360
第6章 深入开发.NET虚拟用户 361
6.1 认识.NET虚拟用户 362
6.1.1 .NET虚拟用户适用范围 362
6.1.2 安装与配置NET插件 362
6.2 创建.NET虚拟用户 365
6.2.1 创建虚拟用户项目 365
6.2.2 参数化、集合点和事务 367
6.3 基于.NET的面向对象基础 374
6.4 .NET虚拟用户的常用程序 383
6.4.1 文件工具类FileUtil 383
6.4.2 目录工具类DirectoryUtil 390
6.4.3 XML 工具类XMLUtil 394
6.4.4 主机信息类HostInformation 397
6.4.5 HTTP工具类HttpTools 400
6.4.6 日期工具类DateTimeTools 401
6.4.7 进程工具类ProccessTools 403
6.4.8 常用工具类Tools 406
6.5 C/S应用开发与测试案例 410
6.5.1 CommandRunner背景介绍 412
6.5.2 CommonSDK设计与实现 413
6.5.3 CommandListener设计与实现 419
6.5.4 CommandCenter设计与实现 435
6.5.5 .NET虚拟用户脚本开发 445
6.5.6 案例总结 452
6.6 小结 453
第7章 深入开发Java虚拟用户 454
7.1 认识Java虚拟用户 455
7.1.1 Java虚拟用户协议介绍 455
7.1.2 Java虚拟用户适用范围 457
7.1.3 Vuser脚本开发环境配置 458
7.2 Java虚拟用户基础 461
7.2.1 Java虚拟用户开发基础 462
7.2.2 Java虚拟用户常用的API 472
7.3 测试实战经验分享 473
7.4 Java虚拟用户案例 481
7.4.1 并发下载文件案例 481
7.4.2 信用卡审批案例 485
7.4.3 脚本数量精简案例 502
7.5 小结 514
第8章 Tuxedo协议虚拟用户开发 515
8.1 Tuxedo虚拟用户简介 515
8.2 搭建Tuxedo域环境 516
8.2.1 Tuxedo安装 516
8.2.2 setenv文件说明 525
8.2.3 myubb文件说明 525
8.2.4 mydom文件说明 527
8.2.5 域连接验证 528
8.3 开发Tuxedo脚本 530
8.3.1 基本流程 530
8.3.2 缓冲区类型 530
8.3.3 CARRAY类型缓冲区脚本 530
8.3.4 FML(32)类型缓冲区脚本 534
8.4 小结 538
第9章 深入开发Mobile APP虚拟用户 539
9.1 Mobile APP 虚拟用户简介 539
9.2 模拟器方式开发Mobile APP脚本 540
9.2.1 搭建模拟器环境 540
9.2.2 网络流量捕获 545
9.2.3 创建测试脚本 548
9.3 代理方式开发Mobile APP脚本 551
9.3.1 移动终端网络代理配置 551
9.3.2 端口映射配置 551
9.3.3 创建测试脚本 554
9.4 小结 556
第10章 网络通信虚拟用户开发案例 557
10.1 项目背景与学习指导 557
10.1.1 项目背景 557
10.1.2 学习指导 559
10.2 网络协议的基础知识 559
10.2.1 TCP/IP构架介绍 559
10.2.2 TCP与UDP比较 560
10.3 通信协议的设计与分析 562
10.3.1 字节序 562
10.3.2 信息摘要算法 564
10.3.3 数据包格式 565
10.4 中心服务器的设计与实现 568
10.4.1 服务器概述 568
10.4.2 CUDPServer类 570
10.4.3 程序入口 579
10.4.4 包头处理 580
10.4.5 辅助类 585
10.5 客户端的设计与实现 602
10.5.1 客户端介绍 602
10.5.2 导出函数的实现 609
10.5.3 CUDPClient包装类 613
10.6 测试脚本设计 623
10.6.1 基本功能测试 623
10.6.2 非法协议标志测试 625
10.6.3 非法版本号测试 628
10.6.4 其他测试 629
10.7 小结 629