编辑推荐
测试界公认的自动化测试QTP一书
获得自动化测试图书大奖
讲解了QTP的基础知识和高级技巧
讨论了针对创建一个复杂的自动化测试框架的几乎所有内容。
原版书发售几个月就在国外Lulu网店销售了50000册
内容简介
是QTP测试的指南,展示了作者在软件测试方面的造诣。本书分为基础知识和高级技巧两个部分。第1章~第18章是基础知识篇,介绍了QTP的基本功能。第1章自动化测试流程,第2章QTP帮助文档的使用,第3章对象库,第4章数据池,第5章操作模块(Action),第6章QTP环境变量,第7章保留对象,第8章检查点,第9章库函数文件、第10章描述性编程,第11章QTP的调试功能,第12章场景恢复,第13章正则表达式,第14章VBScript,第15章同步点,第16章测试结果,第17章API应用,第18章QTP自动化对象模型。第19章~第32章是高级技巧篇,介绍了QTP和多种外部工具,如Qutlook、Word、Excel和Quality Center的集成和交互。本书讨论了针对创建一个复杂的自动化测试框架的几乎所有内容。
作者简介
Tarun Lalwani,一位专注于自动化测试与其解决方案领导者,著有两本被广泛阅读的名作:《QuickTest Professional Unplugged》与《And I thought I knew QTP》,曾担任过各种大型的自动化测试项目。熟练技能包括:VBScript、VB6、VB.Net、C#.Net、Excel与outlook macros。Tarun还是TARLABS公司的创始人,其公司专注于自动化测试与服务。并且他还是著名的KnowledgeInbox的主要撰写者,并还获得了众多奖项,包括QTP11beta测试最佳反馈奖,第二届ATI自动化测试最佳图书荣誉奖、AdvancedQTP核心贡献者。
内页插图
目录
第1章 简介 1
1.1 什么是自动化测试 2
1.2 自动化测试流程 2
1.3 什么是HPQuick Test Professional(QTP) 3
1.4 开始使用QTP 5
1.4.1 从HP网站下载QTP 5
1.4.2 安装QTP 5
1.5 QTP许可证模式 9
第2章 QTP帮助文档的使用 13
2.1 目录标签(Contents Tab) 14
2.1.1 对象属性通过GetRO Property函数返回 14
2.1.2 测试对象提供的方法 15
2.2 索引标签(Index Tab) 15
2.3 搜索标签(Search Tab) 16
第3章 对象库 19
3.1 对象是如何被添加到对象库的 21
3.2 测试对象和运行时对象 22
3.2.1 TO属性 22
3.2.2 对象库模式 23
3.2.3 每个Action对应的公共对象库 24
3.3 对象探测器(Object Spy) 25
3.4 对象识别(Object Identification) 26
3.5 用户定义的对象 27
第4章 数据池 31
4.1 设计时和运行时数据表 33
4.2 何时使用全局数据表或者局部数据表 34
4.3 设置数据池的迭代(Settingdatatableiterations) 34
4.4 数据池对象模型(Datatableobjectmodel) 36
4.5 数据池的格式(Datatableformatting) 36
第5章 操作模块(Action) 41
5.1 输入和输出参数 42
5.2 操作模块的类型 45
5.2.1 Inserting Callsto Actions 45
5.2.2 Insert Callto New
5.2.3 Insert Callto Existing
5.2.4 Insert Callto Copy
第6章 QTP环境变量 50
6.1 环境变量的类型 51
6.2 Environment对象 52
第7章 保留对象 59
7.1 Crypt对象 60
7.2 Optional Step对象 60
7.3 Pat Finder对象 61
7.4 Random Number对象 61
7.5 Setting对象 62
7.6 Web Util对象 63
7.7 System Util对象 63
7.8 Register UserFunc对象 64
第8章 检查点 67
8.1 检查点的类型 68
8.2 QTP内嵌检查点的问题 69
8.3 检查点的替代方法 69
8.4 运行时更新检查点 70
第9章 库函数文件 73
9.1 关联一个全局库函数文件 74
9.2 运行时动态加载本地库函数文件 74
9.3 运行时动态加载全局库函数文件 75
9.4 理解执行作用域 77
9.5 Option Explicit的适用性 78
9.6 全局作用域内执行本地作用域代码 78
第10章 描述性编程 81
10.1 对象识别 82
10.2 何时使用描述性编程 82
10.3 描述性编程语法 83
10.3.1 使用描述对象 83
10.3.2 Micclass标识符 84
10.4 使用描述字符串 85
10.5 列举Child Objects 85
10.6 将基于对象库的脚本转换成基于描述性编程的脚本 86
10.7 使用VBScript描述性编程对象库 87
10.8 Index标识符问题 88
10.9 多浏览器应用 90
10.10 浏览器识别问题 91
10.10.1 使用Open Title识别浏览器 91
10.10.2 使用唯一的Open URL属性识别浏览器 92
第11章 QTP的调试功能 94
11.1 打开调试配置项 95
11.2 断点的使用 95
11.3 Watch Tab页的使用 96
11.4 Variables Tab页的使用 97
11.5 Command Tab页的使用 97
第12章 场景恢复 100
12.1 什么时候场景恢复无法使用 101
12.2 各种场景恢复无法工作的情况 104
12.3 针对IE验证窗口的场景恢复处理 106
12.4 QTP各种默认场景恢复 107
12.5 Recovery对象 107
12.6 场景恢复函数调用 108
12.7 错误处理 110
第13章 正则表达式 113
13.1 正则表达式字符 114
13.2 何时在QTP中使用正则表达式 117
13.3 使用代码验证正则表达式 119
13.3.1 使用正则表达式选择WebList或Web Radio Group的值 120
13.3.2 使用正则表达式提取信息 120
13.3.3 使用正则表达式替换数据 121
第14章 VBScript 124
14.1 字符串 125
14.2 转换函数 132
14.3 日期和时间函数 132
14.5 其他函数 135
14.5.1 Type Name 135
14.5.2 Var Type 135
14.5.3 Get Ref 136
14.5.4 Create Object 136
14.5.5 Get Object 137
14.6 使用数组 141
14.6.1 定长数组 141
14.6.2 动态数组 142
14.6.3 执行语句 142
14.6.4 Eval函数 143
14.6.5 VBScript可选参数 143
第15章 同步点 149
15.1 同步点 150
15.2 检查对象的存在 151
15.3 事件(Events) 152
15.4 回放模式(Replay Option) 154
第16章 测试结果 156
16.1 在结果报告中过滤步骤 158
16.2 报告自定义测试步骤 158
16.3 在测试结果中插入文件 159
16.4 在测试结果中插入快照 160
16.5 转化XML结果为HTML格式 161
16.6 配置QTP生成HTML结果报告 162
16.7 QTP Reporter对象 162
16.8 在脚本最后访问测试结果 164
第17章 API应用 168
17.1 Extern对象 169
17.1.1 VBAPI定义语法 169
17.1.2 QTPAPI定义 169
17.2 QTPAPI的限制 174
17.2.1 使用VB6的APICOM对象 174
17.3 通过Excel执行API 177
17.4 动态生成Excel宏 178
17.5 使用模式对话框 181
第18章 QTP自动化对象模型 187
18.1 QTP自动化对象模型(AOM) 188
18.2 传递参数给测试用例 188
18.2.1 使用测试参数 189
18.2.2 传递测试参数 189
第19章 HTMLDOM 192
19.1 何时应该使用HTMLDOM 193
19.2 何时不宜使用HTMLDOM 193
19.3 HTMLDOM对象集 194
19.3.1 HTML节点 194
19.3.2 Document对象 194
19.3.3 HTML元素对象 195
19.3.4 HTML元素集 195
19.3.5 使用DOM获取Web页面的元素 196
19.4 其他HTML元素 196
19.5 转化DOM对象为QTP测试封装对象 199
19.6 使用样式表单验证外观 199
19.7 通过文本选择单选框 201
第20章 Web Tables应用 207
20.1 Web Tables 208
20.2 访问Web Table 209
20.2.1 使用index 209
20.2.2 使用Name或HTMLID 209
20.2.3 使用inner Text/outer Text 209
20.2.4 使用对象库 212
20.2.5 使用Table中的对象 214
20.2.6 获取Table中对象的位置 215
20.3 点击Webtable内部 216
20.4 Table的异步加载 218
20.5 导出Web Table数据到Data Table 218
20.6 Web Table功能扩展 219
20.6.1 通过dom元素中获取Table 219
20.6.2 搜索查找Table中的单元格 220
第21章 XML应用 224
21.1 QTPXML对象 225
21.2 读取和修改XML 226
21.3 处理应用程序的多个环境变量文件 229
21.4 输出XML到数据表 230
21.5 比较XML 231
第22章 数据库应用 235
22.1 连接一个数据库 236
22.2 构建连接字符串 236
22.2.1 连接向导 236
22.2.2 检查连接对象或者结果集对象的状态 239
22.3 将查询结果导出DataTable 240
22.4 执行数据库存储过程 241
第23章 Microsoft Excel应用 244
23.1 Excel自动化对象模型 245
23.2 将VBA转换为VBScript 249
第24章 Outlook应用 259
24.1 Outlook对象模型 260
24.1.1 连接Outlook应用程序 260
24.1.2 登录到名称空间(Namespace) 261
24.1.3 遍历顶级文件夹 261
24.1.4 用户交互式的获取文件夹 262
24.1.5 获取默认文件夹 263
24.2 读取邮件消息 264
24.2.1 访问电子邮件的消息属性 265
24.2.2 下载附件 265
24.3 发送电子邮件消息 266
24.4 Outlook安全对话框 266
24.5 从电子邮件消息中获得地址 269
24.6 点击在电子邮件消息中的链接 270
24.7 使用电子邮件触发QTP 271
第25章 Microsoft Word应用 274
Word自动化对象模型 275
第26章 Microsoft IE应用 282
26.1 打开Internet Explorer(IE) 283
26.2 IECOM方法和属性 283
26.3 页面同步 285
26.4 枚举所有IE窗口 285
26.5 查找IE窗口 286
26.6 打开新浏览器 287
26.7 获取Web页面DOM 288
26.8 访问网页脚本变量 289
26.9 使用IE获取用户输入 290
26.10 IE弹出对话框 291
26.10.1 禁止IE对话框 292
26.10.2 通过注册表改变IE设置 292
26.10.3 弹出窗口拦截器 293
26.10.4 禁止脚本出错对话框 293
26.10.5 安全警告——重定向弹出框 294
26.10.6 证书安全警告 294
26.10.7 安全连接警告 295
26.10.8 安全提示——安全和非安全项 295
26.10.9 活动内容/Java Script显示 296
26.10.10 文件下载信息条 297
26.11 使用代码处理弹出对话框 298
26.12 文件下载——安全警告弹出框 299
26.13 检查网页中的失效图片 301
26.14 把Browser对象当作Window对象使用 302
26.15 定制Browser应用程序 304
第27章 HPQualityCenter应用 306
27.1 QualityCenter 307
27.2 用QTP连接QC 307
27.3 QC路径 308
27.4 QC中的相对路径 309
27.5 QCUtil对象 310
27.6 QC开放式测试体系(OTA) 311
27.7 TDConnection对象 312
27.7.1 Command and Recordset对象 313
27.7.2 Attachment Factory Collection 314
27.7.3 从QC下载文件的简便方法 316
27.7.4 上传附件到QC 317
27.8 获取当前测试的位置 318
27.9 列举TestLab文件夹中所有的测试 318
27.10 列举TestLab标签页中所有的测试 319
27.11 获取当前测试集的位置 321
第28章 QTP高级应用 323
28.1 不同机器的测试脚本同步执行 324
28.2 遍历所有Settings变量 325
28.3 利用脚本停止脚本并重新运行脚本 330
28.4 运行时添加场景恢复 331
28.5 在脚本执行完毕时执行代码 331
28.6 使对象在网页中可见 334
28.7 高级文本检查点 334
28.8 利用Class类扩展测试对象 339
28.9 Jscript在QTP中的应用 341
28.9.1 传递可变数量参数给函数 342
28.9.2 域的差异 343
28.9.3 使用Try
28.9.4 Jscript数组应用 344
28.9.5 JS类的应用 345
28.10 对象类映射 346
第29章 QTP11 349
29.1 IDE增强 350
29.1.1 注释 350
29.1.2 增强的智能提示功能 350
29.1.3 Run to Step,Debug from Step和Run from Step 350
29.1.4 启用/禁用断点 351
29.1.5 重命名检查点 351
29.1.6 自定义函数生成器 351
29.1.7 函数库功能的增强 352
29.2 Web拖曳(Drag)和下拉(Drop)方法的支持 353
29.3 鼠标中间键与右键的点击方法 353
29.4 对象属性支持Firefox浏览器 353
29.5 使用XPATH或者CSS识别Web对象 354
29.6 正则表达式计算器 355
29.7 在网页中执行JavaScript 355
29.8 菜单更新 356
29.9 新的配置选项 357
29.9.1 忽略浏览器 357
29.9.2 捕捉视频到报告中 358
29.10 新增和增强保留对象(Utility Objects) 358
29.10.1 QC Util 358
29.10.2 System Util 359
29.11 输出Log功能 359
29.11.1 隐藏Log输出窗口 360
29.11.2 显示Log输出窗口 361
29.11.3 清除Log输出窗口 361
29.11.4 利用脚本获取Log并输出窗口的文本 362
29.12 在运行时载入并运行操作模块(Action) 362
29.13 Repository保留对象 363
29.14 本地系统监测 363
29.15 报告增强 364
29.15.1 报告图片 364
29.15.2 支持在结果报告中记录信息 365
29.16 计时器(Mercury Timer) 366
29.17 对象库集合(Repositories Collection) 367
29.18 DotNet Factory 368
29.19 获取对象库中测试对象的对象名称 368
29.20 对象库的增强功能 369
29.20.1 本地对象库(Local Object Repository,LOR) 369
29.20.2 共享对象库(SOR) 371
29.20.3 关联共享对象库(SOR)到测试脚本 372
29.21 增加对象到共享对象库(SOR) 373
29.21.1 利用增加对象按钮来增加对象到S
QTP自动化测试权威指南(第2版) 下载 mobi epub pdf txt 电子书 格式