自动化工具与框架实践.ppt_第1页
自动化工具与框架实践.ppt_第2页
自动化工具与框架实践.ppt_第3页
自动化工具与框架实践.ppt_第4页
自动化工具与框架实践.ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、自动化工具与框架实践,2010年03月 李红杰 林群鹏,QTP使用基础,1.1 创建一个空的测试项目,1.2录制和测试运行设置,在主界面中,选择菜单“Automation|Record and Run Setting”,执行上面的操作弹出如下对话框,根据如上所示的操作,点击确定,在录制时,QTP会自动打开访问地址。,1.3QTP基本功能的使用,QTP的基本功能包括两大部分:一部分是提供给初级用户使用的关键字视图,一部分是提供给熟悉VBScript脚本编写的自动化测试工程师使用的专家视图。但是,并没有严格的区分,在实际的自动化项目中完全可以两者结合使用。,1.3.1QTP自动化测试的基本过程,使

2、用QTP进行自动化测试的基本过程与使用其他自动化测试工具进行自动化测试的过程基本是一致的,一般包括以下5个步骤: (1) 录制测试脚本。利用QTP先进的对象识别、鼠标和键盘监控机制来录制测试脚本,测试人员只需要模拟用户的操作,像执行手工测试的测试步骤一样操作被测试应用程序的界面即可。 (2) 编辑测试脚本。主要包括调整测试步骤、编辑测试逻辑、插入检查点(CheckPoint)、添加测试输出信息、添加注释等。,(3) 调试测试脚本。利用”Check Syntax“功能检查测试脚本的语法错误,利用QTP脚本编辑界面的调试功能检查测试脚本逻辑的正确性。 (4) 运行测试脚本。可运行单个”Action

3、“,也可批量运行测试脚本。 (5) 分析测试结果。使用QTP的测试结果查看工具查看测试结果,检查测试运行过程的正确性。,1.3.2在关键字视图中为测试步骤添加注释,在关键字视图的表格列头中单击鼠标右键,选择“comment”,则会多出一列名为“comment”的列,在这一列中可为每一个测试步骤添加注释。,1.3.3录制测试脚本,前面对QTP的录制进行了设置,在界面可以选择以下三种方式录制。,录制完脚本,点击stop停止脚本的运行。或按F4 点Run按钮运行一下脚本,看脚本的录制是否正确。,1.3.4插入检查点,如果想检查登录按钮的名称是否为”登录“,如果登录名称是”登录“,那么认为测试通过。这

4、可在关键字视图中通过QTP的检查点插入功能来实现。方式如下: (1)首先,定位到登录按钮所在的测试步骤。 (2)然后点击右键,选择菜单”Insert Standard Checkpoint“,,(3)在界面中,选择需要检查的属性。点击”ok“后,则可在关键字视图中看到新添加的检查点步骤。,1.4编辑测试脚本,1.4.1Object Spy的使用 QTP提供的”Object Spy“工具可用于观察运行时测试对象的属性和方法。选择菜单”Tools|Object Spy“,出现如图所示界面,在界面中单击右上角的手型按钮,移动到测试对象上,单击鼠标左键选择测试对象,会自动获取到该测试对象的所有属性和方

5、法,1.4.2对象库管理,在QTP中,选择菜单”Resources|Object Repository“,,注:QTP在录制测试脚本的过程中会把界面操作涉及的控件对象都自动添加到对象库中,但是哪些未被鼠标点击或键盘操作的界面控件则不会添加到对象库中。 1.4.3 把测试对象添加到对象库中 在对象库的管理界面中,选择菜单”Object|Add Object to Local“,然后选择测试界面中的某个控件,点击”ok“,控件被加到对象库中。,1.5参数化测试,在QTP中,可以通过测试脚本中固定的值替换成参数的方式来扩展测试脚本,这个过程叫”参数化测试“,能有效地提高测试的灵活性。 在QTP中可以

6、使用多种方式对测试脚本进行参数化,数据表参数化(Data Table Parameters)是其中一种重要方式,还有环境变量参数化(Environment Variable Parameters)、随机数参数化(Random Number Parameter)等。,1.5.1参数化测试步骤,下面以通信技术的登录页面为例,进行参数化 (1)选择”userinfo.userName“所在的测试步骤行,单击”Value“列所在的单元格,如图,(2)单击单元格旁边的”“按钮,如图,在这个界面中,选择”Parameter“,在旁边的下拉框中选择”Data Table“,在”Name“中输入参数名,也可以

7、选择默认名,在”Location in Data sheet(local)“中可以选择”Global sheet“,也可以选择”Current action sheet(local)“,它们的区别是参数存储的位置不同。,(3)单击”OK“按钮,在关键字视图中可看到,”Value“值已经被参数化,替换成” DataTable(“userName”, dtGlobalSheet)“ (4)选择”View|Data Table“,可看到如下页面,(5)把password也进行参数化,如上图QTP在运行时,就会从上图所示的表中提取数据来对测试过程中的各项输入进行参 数化。,总结,1.如果录制的对象在回

8、放时提示无法识别,可以用此对象的属性来标识该对象。 2.在参数化设置时密码长度过长,导致回放失败,解决方法如下: 密码参数化有两种方式: 一种改用Set方法 一种用Crypt对象的Encrypt方法加密后再参数化 因为SetSecure方法后面必须是加密的字符串,所以你输入的8位数字也好9位数字也好那都只是表示明文,并不是说SetSecure会根据你指定的这个字符串输入密码。所以你这个时候可以改用Set方法来实现输入密码。 如果你一定要使用SetSecure方法,也可以。举例: 比如密码是 mercury,你用 Crypt.Encrypt(mercury) 可以得到一个值 464d059be4

9、5f8d524b913574b017ed492a8b8d4b 然后你在SetSecure后面要加上这串密文!而不是你的明文密码。 SetSecure方法: object.SetSecure Text 其中的参数Text,是QTP对密码的明文经过加密算法生成的一个字符串。其目的是保护测试脚本和测试数据中的密码信息。,RFT基本使用,RFT(Rational Functional Tester)是IBM基于Eclipse开发的一款自动化测试工具,支持JAVA语言进行编写脚本,强大的日志输出。,(1)创建一个Functional Test项目,从 Functional Tester 的菜单, 点击

10、文件 新建 Functional Test 项目 。,(2)配置应用程序进行测试,点击配置-配置应用程序进行测试,添加要进行测试的程序,(3)新建测试脚本,点击 创建新脚本,选择好脚本路径,输入脚本名称。,(4)编写测试脚本,RFT脚本语言为JAVA,继承了JAVA所有特性。编写测试脚本有两种模式,一种是录制脚本。一种是用JAVA语言编写脚本。前着虽然不用具备编程能力,编写速度快。但后期对脚本的维护也是比较困难的。而用JAVA语言进行编写的脚本,大大减少对后期脚本的维护。也能够减少项目中大量重复的代码。,(5)测试对象检查器,测试对象检查器是RFT中一个可以查看控件属性、方法的检查器。,(6)

11、数据驱动,脚本主要是对控件对象进行操作,脚本需要的参数和脚本是分来的,这样有助于自动化工程的维护。存放参数可以用RFT工 具自带的Data pool或JAVA的配置文件。,(7)验证点,测试的过程中,你也可以针对你要测试应用的数据和对象属性插入验证点。验证点是当我们要判断我们的测试脚本是否成功,那么我们就必须有一个实际结果和预期结果进行对比,如果一致那就说明测试脚本运行成功。在脚本中可用IF来进行判断 从而 来证明验证点通过。,(8)日志输出,你能够使用三种类型的 Functional Test 日志来查看你的回放结果。这些日志以不同的格式包含相同的信息: Text - 在Functional Test 脚本窗口以 ASCII 的格式显示日志。 HTML - 以 HTML 格式在你的缺省浏览器中显示日志。 Test Manager - 在 Test Manager 的测试日志窗口显示 Functional Test 日志信息。,(9)自动化框架,自动化框架是了为更方便我去做好自动化测试,目前我们用的只是一个简单的脚本加配置文件的框架。我们想要把自动化测试做得更好,折需要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论