《精通QTP——自动化测试技术领航》共分为6章,书中实例新颖、趣味性强、案例贴近实际,在逼真的软件测试模拟项目环境下试验。 第1章和第2章帮助读者系统地学习QTP最实际的应用。第1章将需要掌握的自动化测试知识依次讲解,这是精心设计的内容。掌握了这些基本技能后就可以进入第2章的学习,里面涵盖了大量真实的模拟项目的例子,以及做项目时需要的一些QTP技术和技巧。学通这两章,读者就可以独自承担起自动化测试的脚本开发工作。第3章和第4章让读者深度掌握QTP应用。包括项目应用高级扩展实例精讲和QTP深入探索,学会了这些技术,读者才会有更多的底蕴,也是一个很重要的跨越阶段。第5章和第6章讲解了设计模式和自动化测试框架的内容,这两章内容是QTP测试技术精华的浓缩,如QTP设计模式和自动化测试框架。 另外,《精通QTP——自动化测试技术领航》在第1章至第4章精心设置了习题,帮助读者巩固已学的内容,也给读者一些练习的素材。建议读者用心完成以后再参考提供的答案,效果会更佳! 很多测试朋友在论坛中常问各种各样的QTP问题,但发现很多问题其实都是大同小异的,《精通QTP——自动化测试技术领航》在以附录的形式把经典的疑难问题浓缩成"QTP科普问答典藏30例",它涵盖了一些很值得关注的软件测试实战技术。 《精通QTP——自动化测试技术领航》适合初学者、测试工程师、QTP项目开发人员、QTP架构师、测试经理、培训师等,也适合学校相关专业的教学用书。
51Tesing软件测试网强力推荐
QTP的版本10.0
测试界知名专家撰写
教科书、实战项目指导书、高端技术参考书三合为一
余杰 网名"yujie6832",担任51Testing论坛QTP版主。精通QTP的脚本开发与应用,发表过多篇QTP技术文章。曾任职于多家国内外大型企业,具备多年自动化测试工作经验,对自动化测试项目及QTP测试框架有很深的研究。同时也具有多年QTP自动化测试的企业培训经验并深受好评,擅长系统化的自动化测试教学。赵旭斌网名"zzxxbb112",iQuickTest经验丰富技术专栏创始人及CSDN技术专家,担任51Testing论坛QTP版主,发表了40余篇QTP经典系列讲座,深受读者好评。曾在多家大型企业任职,担任过多年大型项目的自动化测试技术研究顾问。对QuickTest Pro有深入研究、擅长自动化测试领域的框架开发、模式设计以及国外自动化测试技术。
目 录
第1章 测试脚本开发从零开始 1
1.1 自动化测试从零开始 2
1.1.1 什么是自动化测试 2
1.1.2 严格的自动化测试流程 7
1.1.3 自动化测试用例设计详解 14
1.1.4 教父级自动化测试工具QTP 17
1.1.5 总结 18
知识点巩固和举一反三练习 18
1.2 帮助文档(HELP)——QTP的说明书 19
1.2.1 永远任劳任怨的良师益友"F1" 20
1.2.2 妙用F1可事半功倍 22
1.2.3 请遗忘脑中的代码,掌握查阅Example实例技巧 25
1.2.4 总结 28
知识点巩固和举一反三练习 28
1.3 录制与回放——QTP的开关 28
1.3.1 请拒绝"录制",再开始你的实际项目之旅 28
1.3.2 录制功能更多的只是新人学习时的利器 30
1.3.3 录制时需注意模式的切换 40
1.3.4 有必要让你掌握尤其重要的QTP回放机制 43
1.3.5 总结 52
知识点巩固和举一反三练习 52
1.4 认清并请远离QTP的脚本录制模式 53
1.4.1 QTP的两种视图及思维转换 54
1.4.2 总结 57
知识点巩固和举一反三练习 58
1.5 QTP精华——对象库(上)之基础攻略篇 58
1.5.1 引言 59
1.5.2 对象库的出现改写了软件测试历史 59
1.5.3 一个简单的实例介绍对象库原理、机制及操作流程 60
1.5.4 对象库基本操作 69
1.5.5 Object Spy让对象无处藏身 89
1.5.6 对象库的较高指挥官(Object Repository Manager) 96
1.5.7 总结 103
知识点巩固和举一反三练习 104
1.6 对象库(下)之进阶编程篇 104
1.6.1 引言 104
1.6.2 基于Expert View的对象库编程必备知识 105
1.6.3 封装对象模型——Test Objects VS Run-time Objects 118
1.6.4 梳理运行时对象的封装与自身接口的属性区别 127
1.6.5 几种常见对象无法识别或识别错误的原因 130
1.6.6 总结 132
知识点巩固和举一反三练习 132
1.7 描述性编程(Descriptive Programming) 134
1.7.1 一点都不高深的描述性编程技术 134
1.7.2 掌握描述性编程的两种写法 135
1.7.3 Object Identification与Spy结合DP的妙用 139
1.7.4 描述性编程的妙用以及与对象库编程的混搭 140
1.7.5 终极对决——对象库编程(OP)VS描述性编程(DP) 144
1.7.6 总结 145
知识点巩固和举一反三练习 145
1.8 数据池(Data Table)的应用 145
1.8.1 引言 146
1.8.2 学会使用DataTable进行参数化 146
1.8.3 Test DataTable VS Run-time DataTable 154
1.8.4 用好DataTable对象使脚本更加灵活 157
1.8.5 总结 159
知识点巩固和举一反三练习 160
1.9 操作模块(Actions) 160
1.9.1 使用Actions来控制好业务流 161
1.9.2 Call Action的3种方式 163
1.9.3 Action的切分 166
1.9.4 总结 167
知识点巩固和举一反三练习 167
1.10 QTP的验证点与测试报告 167
1.10.1 自动化测试的有效性取决于验证点的质量 168
1.10.2 侦探Jack再度登场 168
1.10.3 抛弃工具的使用,请使用QTP验证点函数 169
1.10.4 灵活地自定义验证点 171
1.10.5 走进QTP Report——Test Report正式登场 174
1.10.6 自定义验证点——HTML模式 176
1.10.7 总结 178
知识点巩固和举一反三练习 179
第2章 轻松驾驭实际项目 180
2.1 VBScript在项目中的应用 181
2.1.1 请培养代码规范的好习惯 181
2.1.2 VBS基础知识提炼 183
2.1.3 常用函数解析 186
2.1.4 Function VS Sub终极角逐 193
2.1.5 获取对象引用GetRef方法 194
2.1.6 类的简单应用 195
2.1.7 VBS中SendKeys与项目结合的妙用 196
2.1.8 总结 199
知识点巩固和举一反三练习 200
2.2 精通项目中10类常用Web控件 200
2.2.1 读前布告(引言) 200
2.2.2 Browser&Page 201
2.2.3 Link 206
2.2.4 WebEdit&WebButton 210
2.2.5 WebElement 214
2.2.6 WebCheckBox 217
2.2.7 WebList&WebRadio Group 221
2.2.8 WebTable 225
2.2.9 总结 231
知识点巩固和举一反三练习 231
2.3 函数资源库(Library Files) 233
2.3.1 引言 233
2.3.2 资源池静态调用方式 233
2.3.3 强大的动态调用方式 236
2.3.4 函数库功能在QTP 10.0中的增强 237
2.3.5 总结 239
知识点巩固和举一反三练习 239
2.4 环境变量(Environment Variables) 239
2.4.1 引言 239
2.4.2 实用的QTP内置环境变量 240
2.4.3 灵活地自定义环境变量及利用外部XML配置环境变量 244
2.4.4 综合实例——环境变量的动态生成与秘密加载 246
2.4.5 总结 248
知识点巩固和举一反三练习 248
2.5 常用保留对象(Utility Objects) 249
2.5.1 常用保留对象介绍 249
2.5.2 隐藏保留对象介绍 251
2.5.3 自定义保留对象 252
2.5.4 总结 255
2.6 QuickTest自动化模型对象(AOM) 255
2.6.1 不同开发环境下的AOM使用解析 255
2.6.2 QTP自动化模型的引用 256
2.6.3 让QTP舞动起来 258
2.6.4 总结 259
2.7 无人值守测试的守护神——场景恢复(Recovery Scenarios) 259
2.7.1 必须知道的几种场景恢复的误区 259
2.7.2 陌生的Web默认场景恢复 261
2.7.3 无所不能的自定义场景恢复函数 262
2.7.4 总结 265
第3章 项目应用高级扩展实例精讲 266
3.1 正则表达式 267
3.1.1 何时在脚本中设计正则表达式 267
3.1.2 正则之对象属性参数化应用详解 268
3.1.3 RegExp对象的应用讲解 271
3.1.4 总结 274
知识点巩固和举一反三练习 274
3.2 HTML DOM测试应用 274
3.2.1 了解DOM在QTP中应用的好处 275
3.2.2 IE对象模型结合HTML DOM的Web应用 277
3.2.3 DOM在QTP Web测试中的应用 283
3.2.4 总结 290
知识点巩固和举一反三练习 290
3.3 数据库操作(ADO) 290
3.3.1 何时使用ADO数据验证 290
3.3.2 构建数据库连接字符串的两种方式 291
3.3.3 数据库查询 294
3.3.4 数据库修改 297
3.3.5 自定义动态数据库验证函数 300
3.3.6 总结 303
知识点巩固和举一反三练习 304
3.4 Excel——数据驱动必备利器 304
3.4.1 利用EOM自动化EXCEL 304
3.4.2 动态加载并运行宏代码 309
3.4.3 Excel使你可以实现更多 313
3.4.4 总结 318
知识点巩固和举一反三练习 318
3.5 WshShell对象常用方法介绍 318
3.5.1 WshShell对象介绍 319
3.5.2 激活窗口AppActivat 320
3.5.3 获取当前路径CurrentDirectory 322
3.5.4 最常用的sendkeys发送 324
3.5.5 轻松完成注册表的读写 326
3.5.6 总结 328
3.6 FSO对象模型 328
3.6.1 利用FSO模型完成各种操作方式 329
3.6.2 相对路径的应用 335
3.6.3 轻松利用FSO生成QTP测试日志 337
3.6.4 总结 339
3.7 重要的Test Design Studio 340
3.7.1 领略什么才是为QTP量身定做 340
3.7.2 Quick Bundles飞一样的速度 344
3.7.3 强大的静态代码分析 346
3.7.4 堪比Visual Studio的Intellisense 347
3.7.5 智能XML Comments自动生成 349
3.7.6 的VBScript文档生成 350
3.7.7 总结 353
知识点巩固和举一反三练习 353
3.8 DotnetFactory对象 353
3.8.1 调用.NET标准类库 354
3.8.2 调用自定义编写的.NET类库 358
3.8.3 建立GUI数据配置交互的.Net Form 360
3.8.4 总结 363
知识点巩固和举一反三练习 364
3.9 API的应用 364
3.9.1 Extern对象详解 364
3.9.2 VB API转化QTP API 366
3.9.3 纯VBS调用API实现简单GUI自动化 368
3.9.4 总结 372
知识点巩固和举一反三练习 372
第4章 QTP经验丰富技术之走向世界 373
4.1 QTP深入探索 374
4.1.1 访问对象自身接口的特殊渠道 374
4.1.2 重载页面后Web对象的重用 375
4.1.3 ORM对象库自动化模型 377
4.1.4 重写Reporter对象 380
4.1.5 XML联合XSL输出HTML报表 383
4.1.6 创建保留对象的会话实例 396
4.1.7 AutoLtX技术的应用 387
4.2 QTP深层机密 389
4.2.1 访问.NET控件对象私有属性 390
4.2.2 保留对象Setting的隐藏模式 392
4.2.3 管理动态保留对象的隐藏组件 398
4.2.4 自定义Class类注入测试对象 400
4.2.5 注册异类子控件强制注入开启Hook 401
4.2.6 MFL自动化路径模型对象应用 404
4.2.7 映射无法识别的.NET对象类 406
4.3 总结 408
第5章 QTP经验丰富技术之模式设计 409
5.1 QTP设计模式 410
5.1.1 初识设计模式(Design Patterns) 410
5.1.2 单例设计模式(Singleton) 410
5.1.3 工厂设计模式(Factory) 415
5.1.4 命令包装模式(Command) 417
5.1.5 回调设计模式(CallBack) 419
5.1.6 函数指针模式(Function Pointer) 422
5.1.7 类的继承模式(Extends) 424
5.1.8 总结 427
5.2 GUI层面向对象的扩展设计 427
5.2.1 层的概念 427
5.2.2 封装测试对象类 427
5.2.3 调用业务行为 430
5.2.4 对象识别结果分析 430
5.2.5 总结 431
第6章 QTP原创框架设计展示 432
6.1 框架设计理念 433
6.1.1 框架核心介绍 433
6.1.2 框架设计总图 435
6.1.3 框架结构细分 436
6.1.4 框架目录结构 440
6.2 框架设计平台 440
6.2.1 认知Excel Macros 441
6.2.2 自动加载自定义工具栏 442
6.2.3 UserForm的使用 446
6.2.4 利用API让UserForm界面焕然一新 447
6.3 公共对象管理 450
6.3.1 测试对象捕获 450
6.3.2 对象文件存储及转化 451
6.3.3 测试对象自动更新 452
6.4 用例设计管理 455
6.4.1 用例创建 455
6.4.2 步骤生成 458
6.4.3 步骤修改 460
6.4.4 重用模块 462
6.5 公共函数工厂 463
6.5.1 公共函数介绍 464
6.5.2 常用行为函数 464
6.5.3 业务行为函数 467
6.5.4 注册行为函数 467
6.6 测试执行管理 468
6.6.1 配置加载 468
6.6.2 语句拼接 470
6.6.3 排序执行 472
6.6.4 分类执行 473
6.6.5 异常监控 473
6.6.6 报告生成 474
6.7 测试报表管理 477
6.7.1 测试执行状态 477
6.7.2 错误定位信息 478
6.7.3 结果分布统计 479
6.7.4 测试报表导出 481
6.8 一点写给读者的话语(总结) 482
附录一:QTP科普问答典藏30例 484
附录二:章节练习详解及参考答案 497
附录三:参考文献&在线答疑 525