《QTP自动化测试最佳实践》
基本信息
作者: 陈能技 [作译者介绍]
丛书名: 测试实践丛书
出版社:电子工业出版社
ISBN:9787121175817
上架时间:2012-8-6
出版日期:2012 年8月
开本:16开
页码:600
版次:1-1
所属分类: 计算机 > 软件工程及软件方法学 > 软件项目管理

 
 

更多关于 》》》《QTP自动化测试最佳实践》
内容简介
书籍
计算机书籍
  《qtp自动化测试最佳实践》作为自动化测试工程师的实践指南,不仅仅局限于自动化测试工具使用的介绍,而是涵盖了自动化测试工程师开展自动化测试项目所需的知识,包括软件自动化测试的基础知识,作为基础知识,不仅介绍了自动化测试应该如何开展,还介绍了自动化测试工具的底层原理,有了这些基础知识,读者可以抛开qtp工具的束缚,采用其他自动化测试工具甚至自己研发工具也可以开展自动化测试。qtp作为目前主流的自动化测试工具,是本书的重点学习内容,需要掌握qtp的安装、配置、脚本录制和编辑等基本使用方法,还包括与其他工具的整合方法。
  除了掌握qtp的基本使用外,还应该掌握qtp的各项高级功能以及脚本设计能力,包括vbscript脚本语言、数据驱动测试、描述性编程等,这样才能摆脱工具的束缚,自由地编写自动化测试脚本实现复杂的测试功能。自动化测试工程师还应该掌握各类插件的脚本开发技术,包括如何使用qtp测试windows、vb、delphi、.net、web、web service、flex等应用程序。
  《qtp自动化测试最佳实践》在讲解自动化测试脚本开发知识和qtp使用的过程中,通过详细的例子进行分析和讲解,让读者可以通过例子进行理解,并且可以自己进行尝试,非常适合独立学习和研究自动化测试技术的初级测试工程师参考使用。
目录
《qtp自动化测试最佳实践》
第1篇 自动化测试基础篇
第1章 软件测试基础 2
1.1 软件缺陷与软件测试 2
1.1.1 软件缺陷与硬件缺陷的异同 2
1.1.2 如何通过软件测试发现软件缺陷 3
1.2 软件质量与软件测试 3
1.2.1 软件质量管理在项目管理中的地位 3
1.2.2 软件开发模式与软件测试 4
1.2.3 软件开发模式与自动化测试 4
1.2.4 软件测试能保证软件质量吗 5
1.3 软件开发与软件测试 5
1.3.1 软件开发与软件测试的对立统一 5
1.3.2 测试人员需要的开发技术 6
1.3.3 qtp自动化测试工程师需要掌握的技术 6
第2章 软件自动化测试 7
2.1 手工测试与自动化测试 7
2.1.1 手工测试的缺点 7
2.1.2 什么时候使用自动化测试 8
2.1.3 自动化测试——你准备好了吗 8
2.1.4 敏捷开发与自动化测试 9
2.2 如何开展自动化测试 9
2.2.1 选取合适的测试项目来开展自动化测试 9
2.2.2 确定自动化测试介入的时机 10
2.2.3 选择合适的测试用例实现自动化 10
2.2.4 自动化测试工程师的知识体系 12
2.2.5 考虑自动化测试的成本 14
2.2.6 制定自动化测试项目计划 15
2.3 自动化测试方案 17
2.3.1 选择自动化测试方案 17
2.3.2 自动化测试脚本的编写方法 17
2.3.3 线性脚本的编写方法 18
2.3.4 结构化脚本的编写方法 18
2.3.5 共享脚本的编写方法 19
2.3.6 数据驱动脚本的编写方法 19
2.3.7 关键字驱动脚本的编写方法 20
2.3.8 合理选择自动化测试脚本的开发方法 20
2.4 实用性自动化测试策略 21
2.4.1 自动化测试工具的问题 21
2.4.2 自动化测试的管理规范 23
2.4.3 自动化测试中人的因素 24
第3章 软件自动化测试工具 25
3.1 自动化测试工具类型 25
3.1.1 商业测试工具 26
3.1.2 开源测试工具 26
3.1.3 自主开发测试工具 27
3.2 自动化测试工具选型 27
3.2.1 测试工具评估 28
3.2.2 测试工具试用 28
3.2.3 自动化测试工具的培训 28
3.3 自动化测试工具的原理 29
3.3.1 基于代码层面的功能自动化测试工具 29
3.3.2 基于浏览器和dom对象模型的功能自动化测试工具 32
3.3.3 基于gui对象识别的测试工具原理 35
3.3.4 反射机制在自动化功能测试工具中的使用 37
3.3.5 ui automation在自动化功能测试工具中的使用 38
3.3.6 qtp对象识别技术介绍 41
3.3.7 qtp的3类顺序标识 42
3.3.8 qtp的智能识别技术介绍 44
第2篇 qtp使用基础篇
第4章 qtp的安装和配置 48
4.1 qtp 11的安装 48
4.1.1 安装要求 48
4.1.2 qtp 11支持的环境和程序 49
4.1.3 安装步骤 50
4.1.4 qtp的设置 52
4.1.5 qtp升级补丁包的安装 53
4.2 开始使用qtp 53
4.2.1 qtp的帮助文档 53
4.2.2 qtp的视频教程 53
4.2.3 qtp自带的样例程序 54
4.2.4 启动qtp 55
4.2.5 插件加载设置与管理 55
4.2.6 创建一个空的测试项目 55
4.2.7 录制和测试运行设置 56
4.2.8 指定需要录制的应用程序 57
4.2.9 使用qtp编写第一个自动化测试脚本 58
第5章 qtp基本使用方法 60
5.1 qtp基本功能的使用 60
5.1.1 qtp自动化测试的基本过程 60
5.1.2 在关键字视图中编辑测试脚本 61
5.1.3 在关键字视图中为测试步骤添加注释 61
5.1.4 在关键字视图中添加测试信息的输出 62
5.1.5 插入检查点(checkpoint) 62
5.1.6 在关键字视图中插入新的测试步骤 63
5.1.7 在专家视图中编辑测试脚本 65
5.1.8 脚本编辑器的使用 66
5.2 编辑测试脚本 66
5.2.1 识别对象 66
5.2.2 object spy的使用 67
5.2.3 对象库管理 68
5.2.4 把测试对象添加到对象库中 68
5.2.5 导出对象库文件 69
5.2.6 在测试脚本中访问对象库的测试对象 69
5.2.7 添加新的action 70
5.2.8 关联action的对象库 71
5.2.9 编辑新的action 72
5.2.10 在函数库中创建自定义函数 73
5.3 运行和调试测试脚本 75
5.3.1 语法检查 75
5.3.2 使用断点 75
5.3.3 单步调试 76
5.3.4 调试查看器的使用 76
5.3.5 运行整个测试 77
5.3.6 运行部分测试 77
5.3.7 批量运行测试 78
5.3.8 使用mtm批量运行测试 78
5.4 分析测试结果 79
5.4.1 选择测试运行结果的存储位置 79
5.4.2 查看概要测试运行结果 80
5.4.3 查看检查点的结果 80
5.4.4 查看测试过程的截屏 81
5.5 利用active screen来编辑测试脚本 82
5.5.1 查看active screen 82
5.5.2 active screen的设置 83
5.5.3 在active screen中选择并添加对象到对象库 83
5.5.4 选择active screen中的对象并输出其对象属性 85
5.5.5 在active screen中插入检查点 87
5.5.6 在active screen中选择对象并添加测试步骤 88
第6章 qtp与其他工具的整合 90
6.1 与winrunner的整合 90
6.1.1 在qtp中调用winrunner的测试脚本 90
6.1.2 在qtp中调用winrunner的函数 92
6.2 qtp与loadrunner的整合 93
6.2.1 在qtp中为loadrunner设计测试脚本 94
6.2.2 使用silent test runner模拟loadrunner的调用 95
6.2.3 在loadrunner中插入和运行qtp脚本 97
6.2.4 在loadrunner中运行qtp脚本注意事项 98
6.3 qtp与qc整合 99
6.3.1 什么是bpt 99
6.3.2 bpt的工作流程 99
6.3.3 安装qtp for bpt插件 100
6.3.4 bpt实现步骤 102
6.4 qtp与service test整合 110
6.4.1 新建service test 111
6.4.2 设计service test 112
6.4.3 执行service test 113
6.4.4 在qtp中调用service test 114
6.5 qtp与其他工具的整合 115
6.5.1 qtp整合autoit 115
6.5.2 qtp与sikuli整合 116
第3篇 qtp脚本开发篇
第7章 关键字驱动测试 120
7.1 关键字驱动测试方法 120
7.1.1 什么是关键字驱动测试方法 120
7.1.2 关键字测试驱动框架 121
7.1.3 关键字驱动实现自动化测试的阶段划分 122
7.1.4 什么时候使用关键字驱动测试方法 122
7.2 可视化编辑测试步骤 122
7.2.1 编辑对象库 122
7.2.2 选择测试对象 123
7.2.3 选择测试对象相应的操作 124
7.2.4 设置测试逻辑 124
7.3 检查点的使用 125
7.3.1 为测试添加检查点 125
7.3.2 检查点类型 126
7.3.3 添加标准检查点 126
7.3.4 添加图像检查点 127
7.3.5 添加位图检查点 129
7.3.6 添加表格检查点 129
7.3.7 添加文本检查点 131
7.3.8 添加文本区域检查点 132
7.3.9 添加可访问性检查点 134
7.3.10 添加页面检查点 135
7.3.11 添加数据库检查点 137
7.3.12 添加xml检查点 139
7.4 关键字驱动方法的应用过程实例 140
7.4.1 分析mercury tours应用程序 140
7.4.2 定义action和test flow 142
7.4.3 定义对象库(object repository) 143
7.4.4 定义函数库(function library) 144
7.4.5 编写脚本实现业务流程步骤 144
第8章 数据驱动测试 146
8.1 数据驱动测试方法 146
8.1.1 什么时候使用数据驱动测试方法 146
8.1.2 数据驱动测试的一般步骤 147
8.2 参数化测试 147
8.2.1 通过参数化测试提高测试的灵活性 147
8.2.2 参数化测试步骤 148
8.2.3 使用随机数来进行参数化 150
8.2.4 参数化检查点 151
8.2.5 设置数据表格迭代方式 153
8.3 action测试输入的参数化 154
8.3.1 编辑action的属性 154
8.3.2 添加action的输入参数 156
8.3.3 调用action 157
8.4 使用环境变量的参数化 159
8.4.1 定义和设置环境变量 159
8.4.2 在测试步骤中绑定环境变量值 160
8.4.3 导出环境变量到xml文件 161
8.4.4 导入外部环境变量文件 162
8.5 使用数据驱动器来参数化测试 162
8.5.1 数据驱动器的使用方法 162
8.5.2 数据驱动向导 163
8.6 采用其他类型数据源的数据驱动测试 164
8.6.1 文本文件作为数据源 165
8.6.2 excel作为数据源 167
8.6.3 数据库表作为数据源 168
第9章 vbscript基础 170
9.1 脚本语言简介 170
9.1.1 windows脚本语言 170
9.1.2 测试工具的“厂商语言” 170
9.2 vbscript语言基础 171
9.2.1 vbscript的数据类型 171
9.2.2 变量子类型(variant subtypes) 171
9.2.3 vbscript的变量 173
9.2.4 vbscript的运算符 173
9.2.5 vbscript的条件语句 174
9.2.6 vbscript的循环语句 174
9.2.7 vbscript的sub与function 175
9.2.8 vbscript的数组 176
9.2.9 vbscript常用函数 176
9.2.10 vbscript中的错误处理 178
9.2.11 vbscript如何从函数中返回多个值 178
9.2.12 vbscript的学习 180
9.3 vbscript常用对象 180
9.3.1 wscript.shell对象的使用 181
9.3.2 用sendkeys来模拟键盘按键 181
9.3.3 scripting.dictionary对象的使用 182
9.3.4 filesystemobject对象的使用 183
9.3.5 microsoft.xmldom对象的使用 184
9.4 vbscript与正则表达式 185
9.4.1 正则表达式简介 185
9.4.2 在vbscript中使用正则表达式 185
9.4.3 正则表达式在自动化测试中的使用 187
9.5 vbscript与wmi 189
9.5.1 wmi简介 189
9.5.2 在vbscript中访问wmi 189
9.5.3 利用wmi控制windows屏保 190
第10章 qtp测试脚本开发 192
10.1 熟练使用专家视图 192
10.1.1 专家视图与关键字视图的对应关系 192
10.1.2 在专家视图中编辑测试脚本的方法 193
10.1.3 输入代码注释 194
10.1.4 自动化vbscript语法识别和完成 194
10.2 qtp中utility对象的使用 195
10.2.1 使用pathfinder对象查找文件 195
10.2.2 使用xmlutil对象检查xml 196
10.2.3 使用extern对象加载dll 197
10.2.4 systemutil对象的使用 198
10.2.5 使用reporter对象写入测试结果 198
10.2.6 environment对象的使用 199
10.3 qtp内置函数的使用 202
10.3.1 使用print函数显示信息 202
10.3.2 使用wait函数暂停测试脚本的执行 203
10.3.3 使用executefile执行vbscript脚本 204
10.4 虚拟对象管理 205
10.4.1 什么是虚拟对象 205
10.4.2 定义虚拟对象 205
10.4.3 虚拟对象的使用和管理 207
10.5 qtp测试脚本开发技巧 209
10.5.1 在运行过程中设置测试选项 209
10.5.2 巧用setting对象的item属性 210
10.5.3 利用dotnetfactory对象访问.net类库 211
10.5.4 自定义数据库检查点 212
10.5.5 qtp如何访问oracle数据库 214
10.5.6 textutil对象的使用 214
10.6 使用recovery scenarios进行场景恢复 215
10.6.1 什么是recovery scenarios 215
10.6.2 什么时候使用recovery scenarios 215
10.6.3 定义recovery scenarios 216
10.6.4 关联recovery scenario到测试脚本 221
10.6.5 recovery scenario的运行 222
10.7 利用dotnetfactory访问.net对象 224
10.7.1 dotnetfactory的使用方法 224
10.7.2 访问c#编写的dll 224
10.8 案例分析——使用screencapture api比较图片 225
10.8.1 提示对话框的图标判断问题 225
10.8.2 图片比较技术的应用 225
第11章 qtp描述性编程 227
11.1 使用描述性编程的时机 227
11.1.1 录制方式的测试脚本开发问题 227
11.1.2 什么时候使用描述性编程方法 229
11.2 描述性编程的使用方法 229
11.2.1 直接描述的方式 229
11.2.2 直接描述方式的语法格式 231
11.2.3 描述性编程的“后续强迫性” 231
11.2.4 使用描述性编程的技巧 232
11.2.5 使用“with”关键字简化代码 233
11.2.6 使用description对象 233
11.2.7 设置description对象的regularexpression属性 234
11.2.8 在childobjects对象中使用description对象 234
11.2.9 两种描述性编程方式的比较 235
11.2.10 使用对象库(or)还是描述性编程(dp) 235
11.3 用编程的方式创建检查点 236
11.3.1 通过getroproperty添加对控件动态属性的判断 236
11.3.2 自定义的检查点 237
第12章 使用qtp测试标准windows对象 240
12.1 desktop对象的使用 240
12.1.1 使用capturebitmap方法来截屏 240
12.1.2 使用childobjects方法获取某个对象中包含的对象列表 241
12.1.3 使用runanalog方法运行低级录制过程 241
12.2 systemutil对象的使用 242
12.2.1 使用run方法运行文件或程序 242
12.2.2 在脚本运行过程中屏蔽鼠标和键盘 242
12.2.3 关闭进程 243
12.3 clipboard对象的使用 243
12.3.1 clipboard对象介绍 243
12.3.2 clipboard对象的使用方法 244
12.4 标准windows控件的基本属性和方法 244
12.4.1 使用exist属性来判断控件是否存在 244
12.4.2 使用checkproperty检查控件属性 244
12.4.3 使用getroproperty获取控件属性 245
12.5 各类标准windows控件的测试 245
12.5.1 dialog对象的测试 246
12.5.2 static对象的测试 246
12.5.3 winbutton对象的测试 247
12.5.4 wincalendar对象的测试 247
12.5.5 wincheckbox对象的测试 248
12.5.6 wincombobox对象的测试 249
12.5.7 window对象的测试 249
12.5.8 winedit对象的测试 250
12.5.9 wineditor对象的测试 250
12.5.10 winlist对象的测试 250
12.5.11 winlistview对象的测试 253
12.5.12 winmenu对象的测试 253
12.5.13 winradiobutton对象的测试 254
12.5.14 winscrollbar对象的测试 254
12.5.15 winspin对象的测试 255
12.5.16 winstatusbar对象的测试 256
12.5.17 wintab对象的测试 256
12.5.18 wintoolbar对象的测试 257
12.5.19 wintreeview对象的测试 258
12.5.20 winobject对象的测试 260
12.6 案例分析——测试qq登录界面 260
12.6.1 qq登录界面的对象识别问题 260
12.6.2 手工添加测试对象到对象库中 260
12.6.3 调整脚本 261
12.6.4 使用devicereplay对象来处理 262
12.7 多个相同windows窗口的处理 263
12.7.1 封装核心类colwindows 263
12.7.2 colwindows类的使用方法 263
第13章 使用qtp测试activex对象 266
13.1 activex对象的测试 266
13.1.1 object属性的使用 267
13.1.2 acxutil对象的fireevent方法的使用 267
13.2 各类activex控件的测试 268
13.2.1 radiobutton类activex控件的测试 268
13.2.2 checkbox类activex控件的测试 269
13.2.3 calendar类activex控件的测试 269
13.2.4 label类activex控件的测试 270
13.2.5 progressbar类activex控件的测试 271
13.2.6 sliderbar类activex控件的测试 272
13.2.7 led类activex控件的测试 273
13.2.8 listbox类activex控件的测试 273
13.3 案例分析——测试msflexgrid控件 275
13.3.1 qtp测试msflexgrid控件的问题 275
13.3.2 读取和设置控件数据 276
13.3.3 封装成函数库 276
13.4 案例分析——测试datagrid控件 277
13.4.1 获取datagrid中指定单元格的内容 277
13.4.2 根据行号选择datagrid的指定行 277
13.4.3 根据某列数据选择datagrid的指定行 278
13.4.4 datagrid封装函数的使用例子 278
第14章 使用qtp测试vb对象 279
14.1 vb控件的测试 279
14.2 对各类vb控件的测试 280
14.2.1 vbbutton对象的测试 280
14.2.2 vbcheckbox对象的测试 280
14.2.3 vbcombobox对象的测试 281
14.2.4 vbedit对象的测试 282
14.2.5 vbeditor对象的测试 282
14.2.6 vbframe对象的测试 283
14.2.7 vblabel对象的测试 283
14.2.8 vblist对象的测试 284
14.2.9 vblistview对象的测试 285
14.2.10 vbradiobutton对象的测试 285
14.2.11 vbscrollbar对象的测试 286
14.2.12 vbwindow对象的测试 286
14.3 案例分析——测试codejock xtreme suite控件 287
14.3.1 datepicker控件测试 287
14.3.2 propertygrid控件测试 289
14.3.3 reportcontrol控件测试 290
14.3.4 shortcutbar控件测试 292
14.3.5 taskpanel控件测试 293
第15章 使用qtp测试web对象 295
15.1 web对象的测试 295
15.1.1 加载web插件 295
15.1.2 web的录制和运行设置 296
15.1.3 qtp支持的浏览器 297
15.1.4 windows applications的录制和运行设置 297
15.1.5 设置ie的“enable tabbed browsering”选项 298
15.1.6 使用object属性访问dom对象 299
15.1.7 常用dom属性、集合和方法 299
15.1.8 使用browser对象控制浏览器的导航 303
15.1.9 browser、page与页面元素对象的层次关系 304
15.1.10 回放类型 304
15.2 对各类web对象的测试 306
15.2.1 page对象的测试 306
15.2.2 frame对象的测试 307
15.2.3 image对象的测试 308
15.2.4 link对象的测试 309
15.2.5 webbutton对象的测试 310
15.2.6 webcheckbox对象的测试 310
15.2.7 webedit对象的测试 314
15.2.8 webfile对象的测试 314
15.2.9 weblist对象的测试 315
15.2.10 webradiogroup对象的测试 316
15.2.11 webtable对象的测试 317
15.2.12 webxml对象的测试 320
15.2.13 webelement对象的测试 320
15.3 web页面测试案例分析1——superams 320
15.3.1 功能介绍 320
15.3.2 录制脚本的两个问题及解决办法 321
15.4 web页面测试案例分析2——discuz!验证码问题 324
15.4.1 分析验证码技术的实现 324
15.4.2 如何获取验证码 326
15.5 qtp测试ajax控件 328
15.5.1 ajax控件录制问题 328
15.5.2 输入规则的验证问题 329
15.5.3 日历控件的测试 332
15.5.4 数据表格控件的测试 336
15.5.5 slider控件的测试 338
15.5.6 treeview控件的测试 341
第4篇 qtp高级技术篇
第16章 qtp的插件技术 346
16.1 qtp插件简介 346
16.1.1 查看插件安装和加载情况 346
16.1.2 插件分离的好处 347
16.2 内建插件与外部插件 347
16.2.1 内建插件 347
16.2.2 外部插件 348
16.2.3 插件的安装 348
16.2.4 flex插件的安装 352
16.3 插件加载与插件管理 353
16.3.1 qtp的插件加载过程分析 354
16.3.2 关联qtp插件与测试脚本 354
16.3.3 插件关联管理 355
16.3.4 通过编程方式启动qtp并加载插件 355
16.3.5 插件与检查点类型的关系 357
16.4 qtp插件扩展技术(quicktest add-in extensibility) 357
16.4.1 插件扩展sdk安装包 357
16.4.2 web插件扩展开发技术的应用 359
16.4.3 利用extensibility accelerator简化web插件扩展的开发 376
16.4.4 extensibility accelerator的安装 377
16.4.5 extensibility accelerator的使用 377
16.5 web插件扩展开发案例分析 383
16.5.1 创建测试对象配置文件 384
16.5.2 创建自定义工具包(toolkit)配置文件 385
16.5.3 用javascript实现扩展方法 386
第17章 使用qtp.net插件测试.net平台软件 390
17.1 qtp的.net插件 390
17.1.1 .net插件的安装与设置 390
17.1.2 .net windows forms spy的使用 392
17.1.3 利用.net windows forms spy来分析.net控件 394
17.2 测试.net windows forms控件 395
17.2.1 qtp支持的.net windows forms控件 395
17.2.2 通过object属性来获取对象的内部属性 396
17.2.3 通过object属性访问并执行控件方法 397
17.2.4 查看object属性的两种方法 397
17.2.5 测试checkedlistbox控件 398
17.2.6 测试contextmenustrip控件 398
17.2.7 测试datagridview控件 400
17.2.8 测试domainupdown控件 402
17.2.9 测试listview控件 403
17.2.10 测试maskedtextbox控件 404
17.2.11 测试menustrip控件 405
17.2.12 测试propertygrid控件 406
17.2.13 测试statusstrip控件 409
17.2.14 测试toolstrip控件 409
17.2.15 测试treeview控件 410
17.3 测试第三方.net windows form控件 413
17.3.1 componentone之flexgrid控件 413
17.3.2 componentone之truedbgrid控件 415
17.3.3 devcomponents之advtree控件 416
17.3.4 devcomponents之bar控件 417
17.3.5 devcomponents之checkboxx控件 418
17.3.6 devcomponents之datagridviewx控件 419
17.3.7 devcomponents之expandablepanel控件 420
17.3.8 devcomponents之itempanel控件 421
17.3.9 devcomponents之ribbonbar控件 422
17.3.10 devcomponents之siderbarpanel控件 423
17.3.11 devcomponents之supertabstrip控件 424
17.3.12 devcomponents之vscrollbaradv控件 424
17.4 测试wpf控件 425
17.4.1 加载wpf插件 426
17.4.2 qtp支持的wpf控件 426
17.4.3 访问wpf控件的内部属性和方法 427
17.5 测试.net web forms控件 428
17.5.1 qtp支持的.net web forms控件 428
17.5.2 测试.net web forms的程序的前提条件 429
17.5.3 利用object属性来增强.net web forms程序的测试 429
第18章 qtp.net插件扩展技术及其使用 430
18.1 qtp.net插件提供的扩展模块 430
18.1.1 .net插件的扩展模块机制介绍 430
18.1.2 使用.net windows forms spy来协助开发扩展性 430
18.2 使用c#对qtp.net插件进行扩展 431
18.2.1 安装custom server模板 432
18.2.2 建立.net控件的测试扩展项目 432
18.2.3 实现控件录制逻辑 434
18.2.4 注册trackbar控件的事件处理器 434
18.2.5 实现控件的运行逻辑 434
18.2.6 对qtp进行配置 435
18.2.7 扩展项目的运行 437
18.3 使用.net插件扩展技术处理第三方控件 437
18.3.1 在visual studio中编写插件扩展代码 438
18.3.2 部署插件扩展文件 440
18.3.3 在qtp中使用插件扩展的代码 440
18.3.4 测试componentone的mainmenu控件 441
18.3.5 测试devcomponents的hscrollbaradv控件 448
第19章 qtp自动化对象模型及其使用 452
19.1 qtp自动化对象模型简介 452
19.1.1 什么时候使用自动化对象模型库 452
19.1.2 选择开发语言和环境 453
19.1.3 对象模型库基本元素 454
19.2 在c#中使用qtp自动化对象模型 455
19.2.1 引用对象库 455
19.2.2 在c#中调用qtp对象模型库 456
19.3 常用自动化对象模型方法介绍 456
19.3.1 在c#中启动qtp并加载指定插件 457
19.3.2 在vbscript脚本中设置qtp选项 457
19.3.3 导出qtp选项设置到vbscript脚本 458
19.3.4 在vbscript脚本中设置qtp的环境变量 459
19.3.5 在vbscript脚本中设置测试运行选项 462
19.3.6 导出qtp测试设置到vbscript脚本中 464
19.4 qtp测试调度执行框架 465
19.4.1 qtp调度框架脚本 465
19.4.2 读取配置文件 466
19.4.3 通过aom调用qtp执行测试 467
19.4.4 写日志 468
19.4.5 发送邮件 470
第20章 使用qtp开发一个猴子测试工具 472
20.1 猴子测试 472
20.1.1 猴子测试简介 472
20.1.2 笨猴子与聪明猴子 472
20.1.3 什么时候使用猴子测试 473
20.2 使用qtp设计一个笨猴子 473
20.2.1 用qtp实现笨猴子的基本要素 473
20.2.2 使用randomize函数产生随机数 473
20.2.3 使用randomnumber对象获取随机数 474
20.2.4 通过wmi对象获取屏幕高度和宽度 474
20.2.5 利用dotnetfactory获取屏幕高度和宽度 474
20.2.6 让猴子控制鼠标和键盘 475
20.2.7 调用c#代码中封装的windows api函数 475
20.2.8 输入随机字符串 478
20.2.9 记录测试信息 479
20.2.10 截屏 479
20.2.11 记录性能信息 479
20.2.12 基本的猴子测试工具 481
20.2.13 猴子测试工具的改进点 482
20.3 web页面猴子测试 483
20.3.1 案例分析——遍历csdn博客链接 483
20.3.2 枚举web页面链接 483
20.3.3 写日志 484
20.3.4 回退页面 485
第21章 使用qtp测试web services 486
21.1 web services插件介绍 486
21.1.1 什么是web service 486
21.1.2 web services插件的帮助文档 487
21.2 使用web services插件测试web service 487
21.2.1 web service测试向导的使用 487
21.2.2 运行web service测试 491
21.2.3 修改web service测试脚本中的检查点 493
21.2.4 参数化web服务的输入 495
21.2.5 在对象库中添加web service测试对象 496
21.2.6 检查wsdl是否满足ws-i标准 498
21.2.7 使用validatewsdl方法检查wsdl 499
21.3 使用winhttprequest测试web services 501
21.3.1 使用winhttprequest发送请求 501
21.3.2 使用msxml2解析返回的xml数据 502
第22章 使用qtp测试delphi对象 503
22.1 qtp的delphi插件 503
22.1.1 delphi插件安装 503
22.1.2 delphi控件识别问题 504
22.2 测试delphi第三方控件 506
22.2.1 delphi插件扩展开发技术 506
22.2.2 测试nextgrid控件 507
22.2.3 编写插件扩展代码——模板代码分析 507
22.2.4 编写插件扩展代码——tnextgridsupport代码实现 509
22.2.5 创建toolkit配置文件 512
22.2.6 创建测试对象配置文件 514
22.2.7 检查qtp是否将tnextgrid对象正确映射 517
22.2.8 编译扩展代码完成插件扩展开发 517
第23章 qtp测试flex应用程序 519
23.1 qtp测试flex的方法 519
23.1.1 flex自动化测试原理 519
23.1.2 qtp测试flex的前提条件 519
23.1.3 安装flex插件 520
23.1.4 编译flex程序 520
23.1.5 测试flex程序 524
23.2 使用qtp深入测试flex程序 525
23.2.1 获取flex控件属性 525
23.2.2 如何知道flex控件有哪些可用的属性和方法 526
23.2.3 让qtp代码编辑器显示flex对象属性和方法提示 527
23.3 案例分析——flexstore 528
23.3.1 flexstore查找产品功能的脚本设计 529
23.3.2 flexstore登录功能的脚本设计 531
23.3.3 flexstore过滤产品显示列表功能的脚本设计 536
23.3.4 flexstore检查产品显示的脚本设计 538
23.3.5 flexstore产品比较功能的脚本设计 542
第24章 如何编写高质量的qtp测试脚本 547
24.1 qtp测试脚本编码规范 547
24.1.1 常量命名规范 547
24.1.2 变量命名规范 548
24.1.3 对象命名规范 548
24.1.4 代码注释规范 549
24.1.5 代码风格 549
24.1.6 使用action模板来规范化测试脚本 551
24.2 通过管理对象库来提高代码的可读性 551
24.2.1 直接录制的测试脚本的问题 551
24.2.2 通过修改命名来达到更加易读的效果 552
24.2.3 缩减代码行长度的方法 553
24.2.4 以中文命名测试对象 554
24.3 测试脚本目录结构搭建规范 555
24.3.1 常见的测试脚本目录结构 555
24.3.2 采用分层思想定义测试脚本目录结构 556
附录a qtp 11新特性介绍 558
附录b qtp小技巧和代码集锦 564
附录c type方法及devicereplay的键值常量表 569
附录d qtp面试笔试题 574
附录e qtp学习资源 577

本图书信息来源于:中国互动出版网

QTP自动化测试最佳实践相关推荐

  1. python 自动化微信小程序_干货 | 微信小程序自动化测试最佳实践(附 Python 源码)...

    原标题:干货 | 微信小程序自动化测试最佳实践(附 Python 源码) 本文为霍格沃兹测试学院测试大咖公开课<微信小程序自动化测试>图文整理精华版. 随着微信小程序的功能和生态日益完善, ...

  2. 自动化测试最佳实践(一):从纺锤模型到金字塔模型

    一.当前软件开发的趋势 开篇我们先简要介绍一些近几年在企业开发中出现的重要概念,以便引入持续测试的主旨.这些概念中最重要的两个便是DevOps和微服务.两者都是目前软件开发中的最佳实践和方法论,旨在为 ...

  3. [置顶] 《自动化测试最佳实践》讲座总结

    <自动化测试最佳实践>讲座总结 2016年11月26日 - 27日,参加了为期两天的自动化测试最佳实践.讲师是业界大牛陆宏杰.他在微软工作了5年,后来又在Photoshop工作了5年. 自 ...

  4. 《自动化测试最佳实践》讲座总结

    <自动化测试最佳实践>讲座总结 2016年11月26日 - 27日,参加了为期两天的自动化测试最佳实践.讲师是业界大牛陆宏杰.他在微软工作了5年,后来又在Photoshop工作了5年. 自 ...

  5. 微信 小程序 python 渲染_干货 | 微信小程序自动化测试最佳实践(附 Python 源码)...

    本文为霍格沃兹测试学院测试大咖公开课<微信小程序自动化测试>图文整理精华版,进阶学习文末加群! 随着微信小程序的功能和生态日益完善,很多公司的产品业务形态逐渐从 App 延升到微信小程序. ...

  6. app自动化测试最佳实践

    众所周知,在app的UI测试方面,自动化测试可以减少人工参与.降低成本.提升测试效率.传统的自动化测试一般使用appium等工具完成,但需要有较强的编程能力,测试代码需要经常修改,一般测试人员很难搞定 ...

  7. 微信小程序自动化测试最佳实践(附 Python 源码)

    随着微信小程序的功能和生态日益完善,很多公司的产品业务形态逐渐从 App 延升到微信小程序.微信公众号等.小程序项目页面越来越多,业务逻辑也越来越复杂,全手工测试已无法满足快速增长的业务需求. 然而, ...

  8. 微信小程序python自动化测试_干货 | 微信小程序自动化测试最佳实践(附 Python 源码)...

    本文为霍格沃兹测试学院测试大咖公开课<微信小程序自动化测试>图文整理精华版. 随着微信小程序的功能和生态日益完善,很多公司的产品业务形态逐渐从 App 延升到微信小程序.微信公众号等.小程 ...

  9. 《 自动化测试最佳实践:来自全球的经典自动化测试案例解析》一一1.3 建立自动化策略...

    1.3 建立自动化策略 我们需要在不破坏现有功能的前提下发布产品的新功能特性.而且,需要尽快知道一个新的代码变动是否会引起回归测试的失败.手动回归测试在每两周的迭代后期才能给予我们反馈,以至于没有时间 ...

  10. 《 自动化测试最佳实践:来自全球的经典自动化测试案例解析》一一2.4 开发内部测试工具...

    2.4 开发内部测试工具 该内部测试工具的基本功能是由3 ~ 4位开发人员在6 ~ 9个月的时间内开发出来的,是用Java语言编写的.第一个版本开发之后,一个人专门负责对其进行维护和进一步的开发,显然 ...

最新文章

  1. 告别2010-正则表达式
  2. Python 3 利用 subprocess 实现管道( pipe )交互操作读/写通信
  3. 实战SSM_O2O商铺_42【前端展示】店铺列表页面View层的实现
  4. TF之LiR:利用TF自定义一个线性分类器LiR对乳腺癌肿瘤数据集进行二分类预测(良/恶性)
  5. 一段TCP socket和WebSocket互相交互的调试代码
  6. 3详细参数_大疆精灵3值得入手吗?最详细的实测体验,各种参数应有尽有!
  7. 方法大纲_社会工作师(中级)中级实务 考试大纲 附使用方法
  8. iocomp iPlot使用说明6 轴属性设置
  9. 操作指南|JumpServer用户权限体系的使用实践
  10. 避障车(L293D电机驱动)
  11. 台式电脑网络连接配置异常_电脑上不了网,360断网急救箱显示网络连接配置和网络存在問題,点击修复。网络连接配置修复了,网络存......
  12. MarkDown 语法大全查询
  13. Spring的9处调用后置处理器
  14. 【Druid】(四)Apache Druid 部署和配置(单机版 / Docker 容器版 / Kubernetes 集群版)
  15. java写培根披萨和海鲜披萨_培根海鲜披萨的做法【图解】_培根海鲜披萨的家常做法_培根海鲜披萨怎么做_下午茶...
  16. 什么是 GraphQL?
  17. 国产台式电子计算机,国产十大台式电子管名机6——东方红82-Y型收音机(一)
  18. css实现椭圆、半椭圆
  19. 贝叶斯决策理论和概率密度估计方法
  20. 基于vue-cli快速构建

热门文章

  1. 四菱天线怎么加强_白话天线(2)---什么是天线?
  2. 液晶显示器尺寸对照表_安徽CHARACTER液晶显示屏
  3. 无监督学习 k-means_无监督学习-第5部分
  4. 世界时间与伦敦时间_伦敦政治经济学院LSE 2021申请时间线来了,提交申请
  5. Vmware安装vmware-tools后,仍无法上网
  6. python实现深度优先搜索_python 递归深度优先搜索与广度优先搜索算法模拟实现...
  7. 计算机拨珠游戏,拨算盘与算盘游戏 | 褚半农
  8. boxplot函数--Matplotlib
  9. Palindrome Number之Java实现
  10. Struts2中Struts.xml的作用