QTP自动化测试权威指南(第2版)

QTP自动化测试权威指南(第2版)
作 者: Tarun Lalwani 赵旭斌 阙勇 韩洪波 何庆丹
出版社: 人民邮电出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 计算机/网络 软件工程/开发项目管理
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  Tarun Lalwani是一位专注于自动化测试与其解决方案领导者,著有两本被广泛阅读的名作:《QuickTestProfessional Unplugged》与《And I thought I knewQTP》,曾担任过各种大型的自动化测试项目。熟练技能包括:VBScript、VB6、VB.Net、C#.Net、Excel与outlookmacros。Tarun还是TARLABS公司的创始人,其公司专注于自动化测试与服务。并且他还是著名的KnowledgeInbox的主要撰写者,并还获得了众多奖项,包括QTP11beta测试最佳反馈奖,第二届ATI自动化测试最佳图书荣誉奖、AdvancedQTP(www.advancedqtp.com)核心贡献者。在2011年12月,HP以色列R&D研发中心邀请Tarun一起讨论有关QTP与BPT各方面的一些未来来进行趋势,为期4天的会议时间,这是HP首先邀请以色列外部的用户来获取反馈意见。

内容简介

本书是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和QualityCenter的集成和交互。本书讨论了针对创建一个复杂的自动化测试框架的几乎所有内容。本书面向测试工程师、测试分析师、测试顾问、测试经理,以及有兴趣学习高级技巧来解决更多QTP问题的读者。

图书目录

第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