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

978-7-115-30966-2
作者: 【印度】Tarun Lalwani
译者: 赵旭斌阙勇韩洪波何庆丹
编辑: 张涛

图书目录:

目 录

第 1章 简介 1

1.1 什么是自动化测试 2

1.2 自动化测试流程 2

1.3 什么是HP QuickTest 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 对象属性通过GetROProperty函数返回 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 设置数据池的迭代(Setting data table iterations) 34

4.4 数据池对象模型(Data table object model) 36

4.5 数据池的格式(Data table formatting) 36

第5章 操作模块(Action) 41

5.1 输入和输出参数 42

5.2 操作模块的类型 45

5.2.1 Inserting Calls to Actions 45

5.2.2 Insert Call to New… 45

5.2.3 Insert Call to Existing… 46

5.2.4 Insert Call to Copy… 47

第6章 QTP环境变量 50

6.1 环境变量的类型 51

6.2 Environment对象 52

第7章 保留对象 59

7.1 Crypt对象 60

7.2 OptionalStep对象 60

7.3 PathFinder对象 61

7.4 RandomNumber对象 61

7.5 Setting对象 62

7.6 WebUtil对象 63

7.7 SystemUtil对象 63

7.8 RegisterUserFunc对象 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 列举ChildObjects 85

10.6 将基于对象库的脚本转换成基于描述性编程的脚本 86

10.7 使用VBScript描述性编程对象库 87

10.8 Index标识符问题 88

10.9 多浏览器应用 90

10.10 浏览器识别问题 91

10.10.1 使用OpenTitle识别浏览器 91

10.10.2 使用唯 一的OpenURL属性识别浏览器 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或WebRadioGroup的值 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 TypeName 135

14.5.2 VarType 135

14.5.3 GetRef 136

14.5.4 CreateObject 136

14.5.5 GetObject 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 VB API定义语法 169

17.1.2 QTP API定义 169

17.2 QTP API的限制 174

17.2.1 使用VB6的API COM对象 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章 HTML DOM 192

19.1 何时应该使用HTML DOM 193

19.2 何时不宜使用HTML DOM 193

19.3 HTML DOM对象集 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章 WebTables应用 207

20.1 WebTables 208

20.2 访问WebTable 209

20.2.1 使用index 209

20.2.2 使用Name或HTML ID 209

20.2.3 使用innerText/outerText 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 导出WebTable数据到DataTable 218

20.6 WebTable功能扩展 219

20.6.1 通过dom元素中获取Table 219

20.6.2 搜索查找Table中的单元格 220

第 21章 XML应用 224

21.1 QTP XML对象 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 IE COM方法和属性 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章 HP Quality Center应用 306

27.1 Quality Center 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 AttachmentFactory Collection 314

27.7.3 从QC下载文件的简便方法 316

27.7.4 上传附件到QC 317

27.8 获取当前测试的位置 318

27.9 列举TestLab文件夹中所有的测试 318

27.10 列举Test Lab标签页中所有的测试 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…Catch错误捕获 343

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 QCUtil 358

29.10.2 SystemUtil 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 计时器(MercuryTimer) 366

29.17 对象库集合(RepositoriesCollection) 367

29.18 DotNetFactory 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 利用增加对象按钮来增加对象到SOR 373

29.21.2 手动定义对象 373

29.21.3 通过对象识别器(Spy)添加对象 374

29.21.4 导航与学习(Navigate and Learn) 376

29.21.5 对象库其他相关的功能 377

29.21.6 定位对象库中的对象 378

29.21.7 从被测应用程序中更新对象 378

29.21.8 本地对象库和共享对象库的优先级 379

29.21.9 对象库参数(Object Repository Parameters,ORP) 380

29.21.10 对象库的导入与导出 383

29.21.11 更新本地对象库 383

29.21.12 解决对象合并过程中的冲突 385

29.21.13 对象库合并工具 387

29.21.14 对象库对比工具 387

29.21.15 本地对象库VS共享对象库 389

29.22 对象探测器(Object Spy) 389

第30章 .NET类的应用 391

30.1 使用DotNetFactory对象 392

30.2 传递参数到类构造函数 392

30.3 传递参数到.NET对象 392

30.4 传递枚举类型(Enums) 393

30.5 使用.NET数组 394

30.6 播放Wav文件 395

30.7 使用剪贴板 396

30.8 获取计算机信息 396

30.9 访问注册表 396

30.10 Ping IP地址 397

30.11 检测键盘控制键状态 397

30.12 .NET数组再探 398

30.13 使用.NET栈 398

30.14 使用.NET队列 399

30.15 使用.NET日期和时间格式化 399

30.16 使用.NET发送Email 400

30.16.1 将图片转换为其他文件格式 401

30.16.2 使用.NET窗体获取用户输入 403

第31章 框架设计 410

31.1 设计规范 411

31.2 QTP示例 414

31.2.1 复用性 414

31.2.2 不同版本应用的支持 415

31.2.3 从外部可配 415

31.2.4 日志 416

31.2.5 自动配置 416

第32章 实用工具 419

32.1 QTP Script Editor(QTP脚本编辑器) 420

32.2 VBSEdit 420

32.3 Notepad++ 421

32.4 QTP Uninstaller V3 422

32.5 ScreenCapture API 423

32.6 KnowledgeInbox IE Session Cookies Helper 423

32.7 VB-QTP API脚本转换器 423

32.8 IE WebDeveloper 424

32.9 Test Design Studio(TDS) 425

32.10 RAD正则表达设计工具 427

附录A 429

详情

本书讨论了在对象库“功能上,从QTP8.X到9的重大变化,给出了许多非常务实的测试技巧,一方面扩展了QTP的技能,另一方面也让读者了解到QTP的便捷性。这本书将帮助QTP的从业者,从初学者到专家。本书将对自动测试人员,以及使用QTP的测试者有很大的帮助。

图书摘要

相关图书

现代软件测试技术之美
现代软件测试技术之美
渗透测试技术
渗透测试技术
JUnit实战(第3版)
JUnit实战(第3版)
深入理解软件性能——一种动态视角
深入理解软件性能——一种动态视角
云原生测试实战
云原生测试实战
Android自动化测试实战:Python+Appium +unittest
Android自动化测试实战:Python+Appium +unittest

相关文章

相关课程