QTP自动化测试权威指南
2013-6
人民邮电出版社
拉尔瓦尼
赵旭斌,阙勇,韩洪波,何庆丹
无
《QTP自动化测试权威指南(第2版)》是QTP测试的权威指南,展示了作者在软件测试方面的造诣。《QTP自动化测试权威指南(第2版)》分为基础知识和高级技巧两个部分。第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的集成和交互。《QTP自动化测试权威指南(第2版)》讨论了针对创建一个复杂的自动化测试框架的几乎所有内容。
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.3 什么是HP QuickTest
Professional(QTP)
1.4 开始使用QTP
1.4.1 从HP网站下载
QTP
1.4.2 安装QTP
1.5 QTP许可证模式
第2章 QTP帮助文档的使用
2.1 目录标签(Contents Tab)
2.1.1 对象属性通过GetROProperty
函数返回
2.1.2 测试对象提供的方法
2.2 索引标签(Index Tab)
2.3 搜索标签(Search Tab)
第3章 对象库
3.1 对象是如何被添加到对象库的
3.2 测试对象和运行时对象
3.2.1 TO属性
3.2.2 对象库模式
3.2.3 每个Action对应的
公共对象库
3.3 对象探测器(Object Spy)
3.4 对象识别
(Object Identification)
3.5 用户定义的对象
第4章 数据池
4.1 设计时和运行时数据表
4.2 何时使用全局数据表或者
局部数据表
4.3 设置数据池的迭代
(Setting data table iterations)
4.4 数据池对象模型
(Data table object model)
4.5 数据池的格式
(Data table formatting)
第5章 操作模块(Aciton)
5.1 输入和输出参数
5.2 操作模块的类型
5.2.1 Inserting Calls to Actions
5.2.2 Insert Call to New…
5.2.3 Insert Call to Existing…
5.2.4 Insert Call to Copy…
第6章 QTP环境变量
6.1 环境变量的类型
6.2 Environment对象
第7章 保留对象
7.1 Crypt对象
7.2 OptionalStep对象
7.3 PathFinder对象
7.4 RandomNumber对象
7.5 Setting对象
7.6 WebUtil对象
7.7 SystemUtil对象
7.8 RegisterUserFunc对象
第8章 检查点
8.1 检查点的类型
8.2 QTP内嵌检查点的问题
8.3 检查点的替代方法
8.4 运行时更新检查点
第9章 库函数文件
9.1 关联一个全局库函数文件
9.2 运行时动态加载本地库函数
文件
9.3 运行时动态加载全局库函数
文件
9.4 理解执行作用域
9.5 Option Explicit的适用性
9.6 全局作用域内执行本地作用
域代码
第10章 描述性编程
10.1 对象识别
10.2 何时使用描述性编程
10.3 描述性编程语法
10.3.1 使用描述对象
10.3.2 Micclass标识符
10.4 使用描述字符串
10.5 列举ChildObjects
10.6 将基于对象库的脚本转换成
基于描述性编程的脚本
10.7 使用VBScript描述性编程
对象库
10.8 Index标识符问题
10.9 多浏览器应用
10.10 浏览器识别问题
10.10.1 使用OpenTitle识别
浏览器
10.10.2 使用唯一的OpenURL
属性识别浏览器
第11章 QTP的调试功能
11.1 打开调试配置项
11.2 断点的使用
11.3 Watch Tab页的使用
11.4 Variables Tab页的使用
11.5 Command Tab页的使用
第12章 场景恢复
12.1 什么时候场景恢复无法使用
12.2 各种场景恢复无法工作的
情况
12.3 针对IE验证窗口的场景
恢复处理
12.4 QTP各种默认场景恢复
12.5 Recovery对象
12.6 场景恢复函数调用
12.7 错误处理
第13章 正则表达式
13.1 正则表达式字符
13.2 何时在QTP中使用正则
表达式
13.3 使用代码验证正则表达式
13.3.1 使用正则表达式选择
WebList或WebRadioGroup
的值
13.3.2 使用正则表达式
提取信息
13.3.3 使用正则表达式
替换数据
第14章 VBScript
14.1 字符串
14.2 转换函数
14.3 日期和时间函数
14.5 其他函数
14.5.1 TypeName
14.5.2 VarType
14.5.3 GetRef
14.5.4 CreateObject
14.5.5 GetObject
14.6 使用数组
14.6.1 定长数组
14.6.2 动态数组
14.6.3 执行语句
14.6.4 Eval函数
14.6.5 VBScript可选参数
第15章 同步点
15.1 同步点
15.2 检查对象的存在
15.3 事件(Events)
15.4 回放模式(Replay Option)
第16章 测试结果
16.1 在结果报告中过滤步骤
16.2 报告自定义测试步骤
16.3 在测试结果中插入文件
16.4 在测试结果中插入快照
16.5 转化XML结果为
HTML格式
16.6 配置QTP生成HTML
结果报告
16.7 QTP Reporter对象
16.8 在脚本最后访问测试
结果
第17章 API应用
17.1 Extern对象
17.1.1 VB API定义语法
17.1.2 QTP API定义
17.2 QTP API的限制
17.2.1 使用VB6的API COM
对象
17.3 通过Excel执行API
17.4 动态生成Excel宏
17.5 使用模式对话框
第18章 QTP自动化对象模型
18.1 QTP自动化对象模型
(AOM)
18.2 传递参数给测试用例
18.2.1 使用测试参数
18.2.2 传递测试参数
第19章 HTML DOM
19.1 何时应该使用HTML DOM
19.2 何时不宜使用HTML DOM
19.3 HTML DOM对象集
19.3.1 HTML节点
19.3.2 Document对象
19.3.3 HTML元素对象
19.3.4 HTML元素集
19.3.5 使用DOM获取Web
页面的元素
19.4 其他HTML元素
19.5 转化DOM对象为QTP
测试封装对象
19.6 使用样式表单验证外观
19.7 通过文本选择单选框
第20章 WebTables应用
20.1 WebTables
20.2 访问WebTable
20.2.1 使用index
20.2.2 使用Name或
HTML ID
20.2.3 使用innerText/
outerText
20.2.4 使用对象库
20.2.5 使用Table中的对象
20.2.6 获取Table中对象的
位置
20.3 点击Webtable内部
20.4 Table的异步加载
20.5 导出WebTable数据到
DataTable
20.6 WebTable功能扩展
20.6.1 通过dom元素中
获取Table
20.6.2 搜索查找Table中的
单元格
第21章 XML应用
21.1 QTP XML对象
21.2 读取和修改XML
21.3 处理应用程序的多个
环境变量文件
21.4 输出XML到数据表
21.5 比较XML
第22章 数据库应用
22.1 连接一个数据库
22.2 构建连接字符串
22.2.1 连接向导
22.2.2 检查连接对象或者
结果集对象的状态
22.3 将查询结果导出DataTable
22.4 执行数据库存储过程
第23章 Microsoft Excel应用
23.1 Excel自动化对象模型
23.2 将VBA转换为VBScript
第24章 Outlook应用
24.1 Outlook对象模型
24.1.1 连接Outlook应用程序
24.1.2 登录到名称空间
(Namespace)
24.1.3 遍历顶级文件夹
24.1.4 用户交互式的
获取文件夹
24.1.5 获取默认文件夹
24.2 读取邮件消息
24.2.1 访问电子邮件的
消息属性
24.2.2 下载附件
24.3 发送电子邮件消息
24.4 Outlook安全对话框
24.5 从电子邮件消息中
获得地址
24.6 点击在电子邮件消息中的
链接
24.7 使用电子邮件触发QTP
第25章 Microsoft Word应用
Word自动化对象模型
第26章 Microsoft IE应用
26.1 打开Internet Explorer(IE)
26.2 IE COM方法和属性
26.3 页面同步
26.4 枚举所有IE窗口
26.5 查找IE窗口
26.6 打开新浏览器
26.7 获取Web页面DOM
26.8 访问网页脚本变量
26.9 使用IE获取用户输入
26.10 IE弹出对话框
26.10.1 禁止IE对话框
26.10.2 通过注册表改变
IE设置
26.10.3 弹出窗口拦截器
26.10.4 禁止脚本出错
对话框
26.10.5 安全警告-重定向
弹出框
26.10.6 证书安全警告
26.10.7 安全连接警告
26.10.8 安全提示-安全和
非安全项
26.10.9 活动内容/Java Script
显示
26.10.11 文件下载信息条
26.11 使用代码处理弹出对话框
26.12 文件下载-安全警告弹出框
26.13 检查网页中的失效图片
26.14 把Browser对象当作Window
对象使用
26.15 定制Browser应用程序
第27章 HP Quality Center应用
27.1 Quality Center
27.2 用QTP连接QC
27.3 QC路径
27.4 QC中的相对路径
27.5 QCUtil对象
27.6 QC开放式测试体系(OTA)
27.7 TDConnection对象
27.7.1 Command and Recordset
对象
27.7.2 AttachmentFactory
Collection
27.7.3 从QC下载文件的
简便方法
27.7.4 上传附件到QC
27.8 获取当前测试的位置
27.9 列举TestLab文件夹中所有的
测试
27.10 列举Test Lab标签页中所有的
测试
27.11 获取当前测试集的位置
第28章 QTP高级应用
28.1 不同机器的测试脚本
同步执行
28.2 遍历所有Settings变量
28.3 利用脚本停止脚本并重新
运行脚本
28.4 运行时添加场景恢复
28.5 在脚本执行完毕时执行代码
28.6 使对象在网页中可见
28.7 高级文本检查点
28.8 利用Class类扩展测试
对象
28.9 Jscript在QTP中的应用
28.9.1 传递可变数量参数
给函数
28.9.2 域的差异
28.9.3 使用Try…Catch
错误捕获
28.9.4 Jscript数组应用
28.9.5 JS类的应用
28.10 对象类映射
第29章 QTP11
29.1 IDE增强
29.1.1 注释
29.1.2 增强的智能提示功能
29.1.3 Run to Step, Debug from
Step和Run from Step
29.1.4 启用/禁用断点
29.1.5 重命名检查点
29.1.6 自定义函数生成器
29.1.7 函数库功能的增强
29.2 Web拖拽(Drag)和下拉
(Drop)方法的支持
29.3 鼠标中间键与右键的
点击方法
29.4 对象属性支持Firefox
浏览器
29.5 使用XPATH或者CSS识别
Web对象
29.6 正则表达式计算器
29.7 在网页中执行JavaScript
29.8 菜单更新
29.9 新的配置选项
29.9.1 忽略浏览器
29.9.2 捕捉视频到报告中
29.10 新增和增强保留对象
(Utility Objects)
29.10.1 QCUtil
29.10.2 SystemUtil
29.11 输出Log功能
29.11.1 隐藏Log输出窗口
29.11.2 显示Log输出窗口
29.11.3 清除Log输出窗口
29.11.4 利用脚本获取Log
并输出窗口的文本
29.12 在运行时载入并运行操作模块
(Action)
29.13 Repository保留对象
29.14 本地系统监测
29.15 报告增强
29.15.1 报告图片
29.15.2 支持在结果报告中
记录信息
29.16 计时器(MercuryTimer)
29.17 对象库集合
(RepositoriesCollection)
29.18 DotNetFactory
29.19 获取对象库中测试对象的
对象名称
29.20 对象库的增强功能
29.20.1 本地对象库(Local
Object Repository,
LOR)
29.20.2 共享对象库(SOR)
29.20.3 关联共享对象库
(SOR)到测试脚本
29.21 增加对象到共享
对象库(SOR)
29.21.1 利用增加对象按钮来
增加对象到SOR
29.21.2 手动定义对象
29.21.3 通过对象识别器(Spy)
添加对象
29.21.4 导航与学习(Navigate
and Learn)
29.21.5 对象库其他相关的
功能
29.21.6 定位对象库中的对象
29.21.7 从被测应用程序中
更新对象
29.21.8 本地对象库和共享对象
库的优先级
29.21.9 对象库参数(Object
Repository Parameters,
ORP)
29.21.10 对象库的导入与
导出
29.21.11 更新本地对象库
29.21.12 解决对象合并
过程中的冲突
29.21.13 对象库合并工具
29.21.14 对象库对比工具
29.21.15 本地对象库VS
共享对象库
29.22 对象探测器(Object Spy)
第30章 .NET类的应用
30.1 使用DotNetFactory对象
30.2 传递参数到类构造函数
30.3 传递参数到.NET对象
30.4 传递枚举类型(Enums)
30.5 使用.NET数组
30.6 播放Wav文件
30.7 使用剪贴板
30.8 获取计算机信息
30.9 访问注册表
30.10 Ping IP地址
30.11 检测键盘控制键状态
30.12 .NET数组再探
30.13 使用.NET栈
30.14 使用.NET队列
30.15 使用.NET日期和
时间格式化
30.16 使用.NET发送Email
30.16.1 将图片转换为其他
文件格式
30.16.2 使用.NET窗体获取
用户输入
第31章 框架设计
31.1 设计规范
31.2 QTP示例
31.2.1 复用性
31.2.2 不同版本应用的支持
31.2.3 从外部可配
31.2.4 日志
31.2.5 自动配置
第32章 实用工具
32.1 QTP Script Editor
(QTP脚本编辑器)
32.2 VBSEdit
32.3 Notepad++
32.4 QTP Uninstaller V3
32.5 ScreenCapture API
32.6 KnowledgeInbox IE
Session Cookies Helper
32.7 VB-QTP API脚本转换器
32.8 IE WebDeveloper
32.9 Test Design Studio(TDS)
32.10 RAD正则表达设计工具
附录A
无