词条 | QTP自动化测试进阶 |
释义 | 本书以循序渐进的方式讲解了自动化功能测试的基础知识,结合最新版本的QTP 10的使用,深入讲解了自动化脚本的开发技术,涉及目前流行的数据驱动测试方法、关键字驱动测试方法等方面的内容,并且详细讲解了如何使用QTP测试Windows控件、ActiveX控件、VB控件、Web控件、.NET控件等,以及碰到一些QTP不能识别的第三方控件、自定义控件时的解决办法。 图书信息书名:QTP自动化测试进阶作者:陈能技 编著 ISBN 978-7-121-10870-9 出版日期:2010年6月 定价:59.00元 开本:16开 页码:512页 内容简介对于希望了解和使用QTP的插件扩展技术的测试工程师,本书还详细讲解了QTP的.NET插件扩展技术、Web插件扩展技术的应用,以及Extensibility Accelerator的使用。另外,本书还介绍了QTP自动化对象模型(AOM)的使用方法,以及如何基于AOM构建QTP的测试调度执行框架。本书在讲解自动化测试脚本开发知识和QTP工具的使用过程中,通过详细的例子和案例进行分析,让读者可以通过例子练习和理解,动手尝试,非常适合独立学习和研究自动化测试技术的测试工程师参考使用。 本书面向使用QTP(Quick Test Professional)测试工具进行自动化功能测试的测试工程师,以及希望了解自动化功能测试的测试员、希望基于QTP开展自动化测试项目的测试团队。 前言软件产品的测试与硬件产品的检测一样需要认真、严格、细致的工作态度,但是软件测试似乎比硬件的检测要复杂得多,并且不能充分利用检测工具的精确工作能力,依赖测试人员的个人判断、对业务知识的掌握深度、测试用例的设计能力、智慧和经验。 最近几年,软件测试工具取得了长足的进步,逐步得到应用和普及,在软件测试的各个领域发挥着应有的作用。各软件企业也纷纷“上马”自动化测试项目,自动化功能测试工具作为开展功能自动化测试项目不可或缺的一部分,是每个实施自动化测试的测试团队需要认真选择和合理应用的一项内容。 Quick Test Professional(简称QTP)是这些测试工具中的佼佼者,被誉为软件测试人员的“倚天剑”,拥有先进的关键字驱动测试能力,以及强大的测试脚本开发能力,关键在于测试人员如何使用它。用好了,则是“倚天剑”;用不好,则是“一堆废铁”。 很多软件企业耗费巨资购买了这些测试工具,但是没有合理地使用,被测试人员搁置在一旁。究其原因是因为没有充分认识自动化测试的价值,缺乏必要的自动化测试理论培训和测试工具的使用培训。 本书是QTP自动化测试畅销书《QTP自动化测试实践》的升级版。《QTP自动化测试实践》在2008年出版后受到广泛好评,先后印刷多次。本书在《QTP自动化测试实践》的基础之上,综合了广大读者的意见和建议,新增了QTP最新版本10的相关内容(例如Extensibility Accelerator的使用),加入了更多的案例分析和项目实战的内容,增加讲解了自动化测试项目过程中经常碰到的一些问题的解决方法(例如第三方控件、自定义控件的识别问题),更加详细和深入地分析讲解了目前流行的自动化测试框架的内容,例如数据驱动、关键字驱动等。 本书的内容安排 本书共分为4篇,共22章,从软件测试的基本概念讲起,再进一步介绍自动化测试的基本原理和方法,然后基于QTP介绍测试工具的使用方法、测试脚本的开发技巧,以及QTP的高级功能的使用方法。 第1篇(第1章~第3章)自动化测试基础篇 讲述了软件测试的基础知识、自动化测试的基础知识、自动化测试项目的管理方法、自动化测试工具的基本原理、测试工具的选型等。这3章知识是自动化软件测试工程师必须具备的基础知识,同时也是软件测试入门者急需了解和掌握的知识。 第2篇(第4章~第6章)QTP使用基础篇 讲述了QTP的安装和配置方法、QTP基本功能的使用、测试项目的创建方法、测试脚本的编写和调试方法等,并且介绍了QTP与其他测试工具(WinRunner、LoadRunner)的整合方法。这3章内容是自动化测试工程师,尤其是采用QTP作为测试脚本开发工具的测试人员必须掌握的基本知识。 第3篇(第7章~第15章)QTP脚本开发篇 深入讲解QTP的各种功能,包括关键字驱动测试方法的使用、数据驱动测试方法的使用、描述性编程方法的使用,并且深入介绍了QTP的脚本开发语言VBScript的使用,另外还阐述了QTP的Action管理、虚拟对象管理、函数库管理等内容,对于常见的测试对象和控件类型,也做了相对全面的介绍,包括:Windows标准对象、ActiveX对象、VB对象、Web对象。 第4篇(第16章~第22章)QTP高级技术篇 主要介绍了QTP的插件技术以及.NET插件扩展技术的使用,另外还介绍了QTP的自动化对象模型的使用方法,最后综合应用各种测试脚本开发技巧介绍如何开发一个“猴子”测试程序。 本书由浅入深,由理论到实践,尤其适合初级读者逐步学习和完善自己的自动化测试方面的知识结构,并且结合QTP各种实用的应用技巧介绍如何使用各种测试脚本的开发方法,是QTP自动化测试团队和自动化测试工程师的案头指南和最佳实践指导。 本书的特点 本书在讲解自动化测试脚本开发知识和QTP的使用过程中,通过详细的例子进行分析和讲解,让读者可以通过例子进行理解,并且可以自己进行尝试,非常适合独立学习和研究自动化测试技术的初级测试工程师参考使用。 本书以循序渐进的方式讲解了自动化功能测试的基本知识,结合QTP的使用,深入讲解自动化测试脚本的开发,涉及目前流行的数据驱动测试方法、关键字驱动测试方法等方面的内容,并且详细讲解了如何使用QTP测试Windows控件、ActiveX控件、VB控件、Web控件等。 对于希望了解和使用QTP的插件技术的测试工程师,还详细讲解了QTP的.NET插件的使用,包括利用.NET插件测试.NET Windows Form、Web Form,以及最新的WPF控件。同时还介绍了.NET插件的扩展技术,以及QTP的自动化对象模型的使用方法。 适合阅读本书的读者 本书面向使用QTP测试工具进行自动化功能测试的测试工程师,以及希望了解自动化功能测试的测试员。 编 者 目录第1篇 自动化测试基础篇 第1章 软件测试基础 2 1.1 软件缺陷与软件测试 2 1.1.1 软件缺陷与硬件缺陷的异同 2 1.1.2 如何通过软件测试发现软件缺陷 3 1.2 软件质量与软件测试 4 1.2.1 软件质量管理在项目管理中的地位 4 1.2.2 软件开发模式与软件测试 4 1.2.3 软件开发模式与自动化测试 5 1.2.4 软件测试能保证软件质量吗 5 1.3 软件开发与软件测试 5 1.3.1 软件开发与软件测试的对立统一 6 1.3.2 测试人员需要的开发技术 6 1.3.3 QTP自动化测试工程师需要掌握的技术 7 第2章 软件自动化测试 8 2.1 手工测试与自动化测试 8 2.1.1 手工测试的缺点 8 2.1.2 什么时候使用自动化测试 9 2.1.3 自动化测试——你准备好了吗 9 2.2 如何开展自动化测试 10 2.2.1 选取合适的测试项目来开展自动化测试 10 2.2.2 确定自动化测试介入的时机 11 2.2.3 自动化测试工程师的知识体系 11 2.2.4 考虑自动化测试的成本 13 2.2.5 制订自动化测试项目计划 14 2.3 自动化测试方案 15 2.3.1 选择自动化测试方案 16 2.3.2 自动化测试脚本的编写方法 16 2.3.3 线性脚本的编写方法 17 2.3.4 结构化脚本的编写方法 17 2.3.5 共享脚本的编写方法 18 2.3.6 数据驱动脚本的编写方法 18 2.3.7 关键字驱动脚本的编写方法 19 2.3.8 合理选择自动化测试脚本开发方法 19 2.4 实用性自动化测试策略 20 2.4.1 自动化测试工具的问题 20 2.4.2 自动化测试的管理规范 21 2.4.3 自动化测试中人的因素 22 第3章 软件自动化测试工具 24 3.1 自动化测试工具类型 24 3.1.1 商业测试工具 25 3.1.2 开源测试工具 25 3.1.3 自主开发测试工具 26 3.2 自动化测试工具选型 27 3.2.1 测试工具评估 27 3.2.2 测试工具试用 27 3.2.3 自动化测试工具的培训 28 3.3 自动化测试工具的原理 28 3.3.1 基于代码层面的功能自动化测试工具 29 3.3.2 基于浏览器和DOM对象模型的功能自动化测试工具 31 3.3.3 基于GUI对象识别的测试工具原理 35 3.3.4 反射机制在自动化功能测试工具中的使用 37 3.3.5 UI Automation在自动化功能测试工具中的使用 38 3.3.6 QTP对象识别技术介绍 39 3.3.7 QTP的3类顺序标识 41 3.3.8 QTP的智能识别技术介绍 42 第2篇 QTP使用基础篇 第4章 QuickTest Professional的安装和配置 46 4.1 QTP 10的安装 46 4.1.1 安装要求 47 4.1.2 QTP 10支持的环境和程序 47 4.1.3 安装步骤 48 4.1.4 QTP的设置 50 4.1.5 QTP升级补丁包的安装 51 4.2 开始使用QTP 51 4.2.1 QTP的帮助文档 51 4.2.2 QTP的视频教程 52 4.2.3 QTP自带的样例程序 52 4.2.4 启动QTP 54 4.2.5 插件加载设置与管理 54 4.2.6 创建一个空的测试项目 55 4.2.7 录制和测试运行设置 55 4.2.8 指定需要录制的应用程序 56 4.2.9 使用QTP编写第一个自动化测试脚本 57 第5章 QuickTest Professional的基本使用方法 60 5.1 QTP基本功能的使用 60 5.1.1 QTP自动化测试的基本过程 60 5.1.2 在关键字视图中编辑测试脚本 61 5.1.3 在关键字视图中为测试步骤添加注释 62 5.1.4 在关键字视图中添加测试信息的输出 62 5.1.5 插入检查点(Checkpoint) 63 5.1.6 在关键字视图中插入新的测试步骤 64 5.1.7 在专家视图中编辑测试脚本 66 5.1.8 脚本编辑器的使用 67 5.2 编辑测试脚本 67 5.2.1 识别对象 67 5.2.2 Object Spy的使用 68 5.2.3 对象库管理 70 5.2.4 把测试对象添加到对象库中 70 5.2.5 导出对象库文件 71 5.2.6 在测试脚本中访问对象库的测试对象 72 5.2.7 添加新的Action 73 5.2.8 关联Action的对象库 74 5.2.9 编辑新的Action 75 5.2.10 在函数库中创建自定义函数 76 5.3 运行和调试测试脚本 78 5.3.1 语法检查 78 5.3.2 使用断点 79 5.3.3 单步调试 79 5.3.4 调试查看器的使用 80 5.3.5 运行整个测试 80 5.3.6 运行部分测试 81 5.3.7 批量运行测试 81 5.3.8 使用MTM批量运行测试 82 5.4 分析测试结果 83 5.4.1 选择测试运行结果的存储位置 83 5.4.2 查看概要测试运行结果 83 5.4.3 查看检查点的结果 84 5.4.4 查看测试过程的截屏 85 5.5 利用Active Screen来编辑测试脚本 86 5.5.1 查看Active Screen 86 5.5.2 Active Screen的设置 86 5.5.3 在Active Screen中选择并添加对象到对象库 88 5.5.4 选择Active Screen中的对象并输出其对象属性 90 5.5.5 在Active Screen中插入检查点 92 5.5.6 在Active Screen中选择对象并添加测试步骤 93 第6章 QuickTest Professional与其他工具的整合 95 6.1 与WinRunner的整合 95 6.1.1 在QTP中调用WinRunner的测试脚本 95 6.1.2 在QTP中调用WinRunner的函数 98 6.2 QTP与LoadRunner的整合 99 6.2.1 在QTP中为LoadRunner设计测试脚本 99 6.2.2 使用Silent Test Runner模拟LoadRunner的调用 101 6.2.3 在LoadRunner中插入和运行QTP脚本 103 6.2.4 在LoadRunner中运行QTP脚本需要注意的几点 104 6.3 QTP与QC整合 105 6.3.1 什么是BPT 105 6.3.2 BPT的工作流程 105 6.3.3 安装QTP for BPT插件 107 6.3.4 业务专家编写手工组件 109 6.3.5 把手工组件转换成自动化组件 109 6.3.6 自动化测试工程师创建应用程序域和对象库 110 6.3.7 自动化工程师编写自动化脚本(建立函数库、实现关键字) 114 6.3.8 业务专家编辑业务流程(组合组件) 117 6.3.9 业务专家把业务流程测试用例添加到测试集并运行 118 6.4 QTP与其他工具的整合 119 6.4.1 QTP整合AutoIt 119 6.4.2 QTP整合Sikuli 120 第3篇 QTP脚本开发篇 第7章 关键字驱动测试 124 7.1 关键字驱动测试方法 124 7.1.1 什么是关键字驱动测试方法 124 7.1.2 关键字测试驱动框架 125 7.1.3 关键字驱动实现自动化测试的阶段划分 126 7.1.4 什么时候使用关键字驱动测试方法 126 7.2 可视化编辑测试步骤 127 7.2.1 编辑对象库 127 7.2.2 选择测试对象 127 7.2.3 选择测试对象相应的操作 128 7.2.4 设置测试逻辑 129 7.3 检查点的使用 130 7.3.1 为测试添加检查点 130 7.3.2 检查点类型 130 7.3.3 添加标准检查点 131 7.3.4 添加图像检查点 132 7.3.5 添加位图检查点 133 7.3.6 添加表格检查点 134 7.3.7 添加文本检查点 136 7.3.8 添加文本区域检查点 138 7.3.9 添加可访问性检查点 139 7.3.10 添加页面检查点 141 7.3.11 添加数据库检查点 143 7.3.12 添加XML检查点 145 7.4 关键字驱动方法的应用过程实例 147 7.4.1 分析Mercury Tours应用程序 147 7.4.2 定义Action和Test Flow 149 7.4.3 定义对象库(Object Repository) 150 7.4.4 定义函数库(Function Library) 150 7.4.5 编写脚本实现业务流程步骤 151 第8章 数据驱动测试 153 8.1 数据驱动测试方法 153 8.1.1 什么时候使用数据驱动测试方法 153 8.1.2 数据驱动测试的一般步骤 154 8.2 参数化测试 154 8.2.1 通过参数化测试来提高测试的灵活性 155 8.2.2 参数化测试步骤 155 8.2.3 使用随机数来进行参数化 158 8.2.4 参数化检查点 159 8.2.5 设置数据表格迭代方式 160 8.3 Action测试输入的参数化 162 8.3.1 编辑Action的属性 163 8.3.2 添加Action的输入参数 164 8.3.3 调用Action 165 8.4 使用环境变量的参数化 167 8.4.1 定义和设置环境变量 168 8.4.2 在测试步骤中绑定环境变量值 169 8.4.3 导出环境变量到XML文件 170 8.4.4 导入外部环境变量文件 171 8.5 使用数据驱动器来参数化测试 172 8.5.1 数据驱动器的使用方法 172 8.5.2 数据驱动向导 173 8.6 采用其他类型数据源的数据驱动测试 174 8.6.1 文本文件作为数据源 175 8.6.2 Excel作为数据源 177 8.6.3 数据库表作为数据源 179 第9章 VBScript基础 180 9.1 脚本语言简介 180 9.1.1 Windows脚本语言 180 9.1.2 测试工具的“厂商语言” 181 9.2 VBScript语言基础 181 9.2.1 VBScript的数据类型 181 9.2.2 变量子类型(Variant Subtypes) 182 9.2.3 VBScript的变量 183 9.2.4 VBScript的运算符 184 9.2.5 VBScript的条件语句 184 9.2.6 VBScript的循环语句 185 9.2.7 VBScript的Sub与Function 186 9.2.8 VBScript的数组 186 9.2.9 VBScript常用函数 187 9.2.10 VBScript的学习 189 9.3 VBScript常用对象 190 9.3.1 WSCript.Shell对象的使用 190 9.3.2 用SendKeys来模拟键盘按键 190 9.3.3 Scripting.Dictionary对象的使用 192 9.3.4 FileSystemObject对象的使用 193 9.3.5 Microsoft.XMLDOM对象的使用 193 9.4 VBScript与正则表达式 194 9.4.1 正则表达式简介 194 9.4.2 在VBScript中使用正则表达式 195 9.4.3 正则表达式在自动化测试中的使用 197 9.5 VBScript与WMI 199 9.5.1 WMI简介 199 9.5.2 在VBScript中访问WMI 200 9.5.3 利用WMI控制Windows屏保 200 第10章 QTP测试脚本开发 202 10.1 熟练使用专家视图 202 10.1.1 专家视图与关键字视图的对应关系 202 10.1.2 在专家视图中编辑测试脚本的方法 203 10.1.3 输入代码注释 204 10.1.4 自动化VBScript语法识别和完成 205 10.2 QTP的Utility对象的使用 205 10.2.1 使用PathFinder对象查找文件 206 10.2.2 使用XMLUtil对象检查XML 207 10.2.3 使用Extern对象加载DLL 207 10.2.4 SystemUtil对象的使用 208 10.2.5 使用Reporter对象写入测试结果 209 10.2.6 Environment对象的使用 210 10.3 QTP内置函数的使用 213 10.3.1 使用Print函数显示信息 213 10.3.2 使用Wait函数暂停测试脚本的执行 214 10.3.3 使用ExecuteFile执行VBScript脚本 216 10.4 虚拟对象管理 217 10.4.1 什么是虚拟对象 217 10.4.2 定义虚拟对象 217 10.4.3 虚拟对象的使用和管理 220 10.5 QTP测试脚本开发技巧 221 10.5.1 在运行过程中设置测试选项 221 10.5.2 巧用Setting对象的Item属性 223 10.5.3 利用DotNetFactory对象访问.NET类库 224 10.5.4 自定义数据库检查点 225 10.5.5 TextUtil对象的使用 226 10.6 使用Recovery Scenarios进行场景恢复 227 10.6.1 什么是Recovery Scenarios 228 10.6.2 什么时候使用Recovery Scenarios 228 10.6.3 定义Recovery Scenarios 228 10.6.4 关联Recovery Scenario到测试脚本 234 10.6.5 Recovery Scenario的运行 236 10.7 利用DotNetFactory访问.NET对象 237 10.7.1 DotNetFactory的使用方法 238 10.7.2 访问C#编写的DLL 238 10.8 案例分析——使用ScreenCapture API比较图片 238 10.8.1 提示对话框的图标判断问题 239 10.8.2 图片比较技术的应用 239 第11章 QTP描述性编程 241 11.1 使用描述性编程的时机 241 11.1.1 录制方式的测试脚本开发的问题 241 11.1.2 什么时候使用描述性编程方法 243 11.2 描述性编程的使用方法 244 11.2.1 直接描述的方式 244 11.2.2 直接描述方式的语法格式 246 11.2.3 描述性编程的“后续强迫性” 246 11.2.4 使用描述性编程的技巧 247 11.2.5 使用“With”关键字简化代码 248 11.2.6 使用Description对象 248 11.2.7 设置Description对象的RegularExpression属性 248 11.2.8 在ChildObjects对象中使用Description对象 249 11.2.9 两种描述性编程方式的比较 250 11.2.10 使用对象库(OR)还是描述性编程(DP) 250 11.3 用编程的方式创建检查点 251 11.3.1 通过GetROProperty添加对控件的动态属性的判断 251 11.3.2 自定义的检查点 253 第12章 使用QTP测试标准Windows对象 255 12.1 Desktop对象的使用 255 12.1.1 使用CaptureBitmap方法来截屏 255 12.1.2 使用ChildObjects方法获取某个对象中包含的对象列表 256 12.1.3 使用RunAnalog方法运行低级录制过程 256 12.2 SystemUtil对象的使用 257 12.2.1 使用Run方法运行文件或程序 257 12.2.2 在脚本运行过程中屏蔽鼠标和键盘 258 12.2.3 关闭进程 258 12.3 Clipboard对象的使用 258 12.3.1 Clipboard对象介绍 259 12.3.2 Clipboard对象的使用方法 259 12.4 标准Windows控件的基本属性和方法 259 12.4.1 使用Exist属性来判断控件是否存在 260 12.4.2 使用CheckProperty检查控件属性 260 12.4.3 使用GetROProperty获取控件属性 261 12.5 各类标准Windows控件的测试 261 12.5.1 Dialog对象的测试 261 12.5.2 Static对象的测试 262 12.5.3 WinButton对象的测试 262 12.5.4 WinCalendar对象的测试 263 12.5.5 WinCheckBox对象的测试 264 12.5.6 WinComboBox对象的测试 264 12.5.7 Window对象的测试 265 12.5.8 WinEdit对象的测试 265 12.5.9 WinEditor对象的测试 266 12.5.10 WinList对象的测试 266 12.5.11 WinListView对象的测试 267 12.5.12 WinMenu对象的测试 268 12.5.13 WinRadioButton对象的测试 268 12.5.14 WinScrollBar对象的测试 269 12.5.15 WinSpin对象的测试 270 12.5.16 WinStatusBar对象的测试 270 12.5.17 WinTab对象的测试 271 12.5.18 WinToolbar对象的测试 272 12.5.19 WinTreeView对象的测试 273 12.5.20 WinObject对象的测试 274 12.6 案例分析——测试QQ登录界面 275 12.6.1 QQ登录界面的对象识别问题 275 12.6.2 手工添加测试对象到对象库中 275 12.6.3 调整脚本 276 12.6.4 使用DeviceReplay对象来处理 277 12.6.5 小结 278 第13章 使用QTP测试ActiveX对象 279 13.1 ActiveX对象的测试 279 13.1.1 Object属性的使用 280 13.1.2 AcxUtil对象的FireEvent方法的使用 281 13.2 各类ActiveX控件的测试 281 13.2.1 RadioButton类ActiveX控件的测试 281 13.2.2 CheckBox类ActiveX控件的测试 282 13.2.3 Calendar类ActiveX控件的测试 283 13.2.4 Label类ActiveX控件的测试 284 13.2.5 ProgressBar类ActiveX控件的测试 286 13.2.6 SliderBar类ActiveX控件的测试 286 13.2.7 LED类ActiveX控件的测试 287 13.2.8 ListBox类ActiveX控件的测试 288 13.3 案例分析——测试MSFlexGrid控件 289 13.3.1 QTP测试MSFlexGrid控件的问题 290 13.3.2 读取和设置控件数据 290 13.3.3 封装成函数库 291 第14章 使用QTP测试VB对象 292 14.1 Visual Basic控件的测试 292 14.2 对各类VB控件的测试 292 14.2.1 VbButton对象的测试 293 14.2.2 VbCheckBox对象的测试 294 14.2.3 VbComboBox对象的测试 294 14.2.4 VbEdit对象的测试 295 14.2.5 VbEditor对象的测试 296 14.2.6 VbFrame对象的测试 296 14.2.7 VbLabel对象的测试 297 14.2.8 VbList对象的测试 297 14.2.9 VbRadioButton对象的测试 298 14.2.10 VbScrollBar对象的测试 299 14.2.11 VbWindow对象的测试 299 14.3 案例分析——测试CodeJock Xtreme Suite控件 300 14.3.1 DatePicker控件测试 300 14.3.2 PropertyGrid控件测试 302 14.3.3 ReportControl控件测试 304 14.3.4 ShortcutBar控件测试 305 14.3.5 TaskPanel控件测试 307 第15章 使用QTP测试Web对象 309 15.1 Web对象的测试 309 15.1.1 加载Web插件 309 15.1.2 Web的录制和运行设置 310 15.1.3 QTP支持的浏览器 311 15.1.4 Windows Applications的录制和运行设置 312 15.1.5 设置IE的“Enable Tabbed Browsering”选项 312 15.1.6 使用Object属性访问DOM对象 313 15.1.7 常用DOM属性、集合和方法 314 15.1.8 使用Browser对象控制浏览器的导航 318 15.2 对各类Web对象的测试 319 15.2.1 Page对象的测试 319 15.2.2 Frame对象的测试 320 15.2.3 Image对象的测试 320 15.2.4 Link对象的测试 321 15.2.5 WebButton对象的测试 322 15.2.6 WebCheckBox对象的测试 323 15.2.7 WebEdit对象的测试 324 15.2.8 WebFile对象的测试 325 15.2.9 WebList对象的测试 326 15.2.10 WebRadioGroup对象的测试 326 15.2.11 WebTable对象的测试 327 15.2.12 WebXML对象的测试 330 15.2.13 WebElement对象的测试 330 15.3 Web页面测试案例分析1——SuperAMS 330 15.3.1 功能介绍 330 15.3.2 录制脚本的两个问题及解决办法 331 15.4 Web页面测试案例分析2——Discuz!验证码问题 335 15.4.1 分析验证码技术的实现 335 15.4.2 如何获取验证码 338 第4篇 QTP高级技术篇 第16章 QTP的插件技术 342 16.1 QTP插件简介 342 16.1.1 查看插件安装和加载情况 342 16.1.2 插件分离的好处 343 16.2 内建插件与外部插件 343 16.2.1 内建插件 344 16.2.2 外部插件 344 16.2.3 插件的安装 344 16.2.4 Flex插件的安装 349 16.3 插件加载与插件管理 351 16.3.1 QTP的插件加载过程分析 351 16.3.2 关联QTP插件与测试脚本 352 16.3.3 插件关联管理 353 16.3.4 通过编程方式启动QTP并加载插件 353 16.3.5 插件与检查点类型的关系 355 16.4 QTP插件扩展技术(QuickTest Add-in Extensibility) 356 16.4.1 插件扩展SDK安装包 356 16.4.2 利用Extensibility Accelerator简化Web插件扩展的开发 357 16.4.3 Extensibility Accelerator的安装 358 16.4.4 Extensibility Accelerator的使用 359 第17章 使用QTP的.NET插件测试.NET平台软件 366 17.1 QTP的.NET插件 366 17.1.1 .NET插件安装与设置 366 17.1.2 .NET Windows Forms Spy的使用 367 17.1.3 利用.NET Windows Forms Spy来分析.NET控件 369 17.2 测试.NET Windows Forms控件 371 17.2.1 QTP支持的.NET Windows Forms控件 371 17.2.2 通过Object属性来获取对象的内部属性 372 17.2.3 通过Object属性访问并执行控件方法 372 17.2.4 查看Object属性的两种方法 373 17.2.5 案例分析——QTP测试.NET控件CheckedListBox 374 17.3 测试WPF控件 374 17.3.1 加载WPF插件 375 17.3.2 QTP支持的WPF控件 375 17.3.3 访问WPF控件的内部属性和方法 376 17.4 测试.NET Web Forms控件 377 17.4.1 QTP支持的.NET Web Forms控件 377 17.4.2 测试.NET Web Forms的程序的前提条件 378 17.4.3 利用Object属性来增强.NET Web Forms程序的测试 378 第18章 QTP的.NET插件扩展技术及其使用 380 18.1 QTP的.NET插件提供的扩展模块 380 18.1.1 .NET插件的扩展模块机制介绍 380 18.1.2 使用.NET Windows Forms Spy来协助开发扩展性 381 18.2 使用C#对QTP的.NET插件进行扩展 381 18.2.1 安装Custom Server模板 382 18.2.2 建立.NET控件的测试扩展项目 383 18.2.3 实现控件录制逻辑 384 18.2.4 注册TrackBar控件的事件处理器 385 18.2.5 实现控件的运行逻辑 385 18.2.6 对QTP进行配置 385 18.2.7 扩展项目的运行 387 18.3 案例分析——测试ComponentOne的Toolbar控件 388 18.3.1 在VS 2005中编写插件扩展代码 388 18.3.2 部署插件扩展文件 391 18.3.3 在QTP中使用插件扩展的代码 391 第19章 QTP的自动化对象模型及其使用 392 19.1 QTP自动化对象模型简介 392 19.1.1 什么时候使用自动化对象模型库 392 19.1.2 选择开发语言和环境 393 19.1.3 对象模型库基本元素 394 19.2 在C#中使用QTP自动化对象模型 395 19.2.1 引用对象库 395 19.2.2 在C#中调用QTP对象模型库 396 19.3 常用的自动化对象模型方法介绍 397 19.3.1 在C#中启动QTP并加载指定插件 397 19.3.2 在VBScript脚本中设置QTP选项 398 19.3.3 导出QTP选项设置到VBScript脚本 399 19.3.4 在VBScript脚本中设置QTP的环境变量 400 19.3.5 在VBScript脚本中设置测试运行选项 403 19.3.6 导出QTP测试设置到VBScript脚本中 405 19.4 QTP测试调度执行框架 406 19.4.1 QTP调度框架脚本 407 19.4.2 读取配置文件 407 19.4.3 通过AOM调用QTP执行测试 409 19.4.4 写日志 410 19.4.5 发送邮件 412 第20章 使用QTP开发一个猴子测试工具 414 20.1 猴子测试 414 20.1.1 猴子测试简介 414 20.1.2 笨猴子与聪明猴子 415 20.1.3 什么时候使用猴子测试 415 20.2 使用QTP设计一个笨猴子 415 20.2.1 用QTP实现笨猴子的基本要素 415 20.2.2 使用Randomize函数产生随机数 416 20.2.3 使用RandomNumber对象获取随机数 416 20.2.4 通过WMI对象获取屏幕高度和宽度 416 20.2.5 利用DotNetFactory获取屏幕高度和宽度 417 20.2.6 让猴子控制鼠标和键盘 417 20.2.7 调用C#代码中封装的Windows API函数 418 20.2.8 输入随机字符串 421 20.2.9 记录测试信息 422 20.2.10 截屏 422 20.2.11 记录性能信息 422 20.2.12 基本的猴子测试工具 424 20.2.13 猴子测试工具的改进点 425 20.3 Web页面猴子测试 426 20.3.1 案例分析——遍历CSDN博客链接 426 20.3.2 枚举Web页面链接 427 20.3.3 写日志 428 20.3.4 回退页面 428 第21章 使用QTP测试Web Services 429 21.1 Web Services插件介绍 429 21.1.1 什么是Web Services 429 21.1.2 Web Services插件的帮助文档 430 21.2 使用Web Services插件测试Web Services 430 21.2.1 Web Service测试向导的使用 430 21.2.2 运行Web Service测试 434 21.2.3 修改Web Service测试脚本中的检查点 437 21.2.4 参数化Web服务的输入 438 21.2.5 在对象库中添加Web Service测试对象 440 21.2.6 检查WSDL是否满足WS-I标准 442 21.2.7 使用ValidateWSDL方法检查WSDL 445 21.3 使用WinHttpRequest测试WebService 446 21.3.1 使用WinHttpRequest发送请求 446 21.3.2 使用Msxml2解析返回的XML数据 448 第22章 如何编写高质量的QTP测试脚本 449 22.1 QTP测试脚本编码规范 449 22.1.1 常量命名规范 450 22.1.2 变量命名规范 450 22.1.3 对象命名规范 450 22.1.4 代码注释规范 451 22.1.5 代码风格 452 22.1.6 使用Action模板来规范化测试脚本 453 22.2 通过管理对象库来提高代码的可读性 453 22.2.1 直接录制的测试脚本的问题 454 22.2.2 通过修改命名来达到更加易读的效果 455 22.2.3 缩减代码行长度的方法 456 22.2.4 以中文命名测试对象 457 22.3 测试脚本目录结构搭建规范 458 22.3.1 常见的测试脚本目录结构 459 22.3.2 采用分层思想定义测试脚本目录结构 459 附录A QTP 10新特性介绍 461 附录B QTP小技巧和代码集锦 471 附录C Type方法及DeviceReplay的键值常量表 477 附录D QTP面试笔试题 483 附录E QTP学习资源 486 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。