自动化工具与框架实践

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

自动化工具与框架实践北京品恩科技有限公司2010年03月李红杰林群鹏QTP使用基础1.1创建一个空的测试项目1.2录制和测试运行设置•在主界面中,选择菜单“Automation|RecordandRunSetting”执行上面的操作弹出如下对话框根据如上所示的操作,点击确定,在录制时,QTP会自动打开访问地址。1.3QTP基本功能的使用•QTP的基本功能包括两大部分:一部分是提供给初级用户使用的关键字视图,一部分是提供给熟悉VBScript脚本编写的自动化测试工程师使用的专家视图。但是,并没有严格的区分,在实际的自动化项目中完全可以两者结合使用。1.3.1QTP自动化测试的基本过程•使用QTP进行自动化测试的基本过程与使用其他自动化测试工具进行自动化测试的过程基本是一致的,一般包括以下5个步骤:(1)录制测试脚本。利用QTP先进的对象识别、鼠标和键盘监控机制来录制测试脚本,测试人员只需要模拟用户的操作,像执行手工测试的测试步骤一样操作被测试应用程序的界面即可。(2)编辑测试脚本。主要包括调整测试步骤、编辑测试逻辑、插入检查点(CheckPoint)、添加测试输出信息、添加注释等。(3)调试测试脚本。利用”CheckSyntax“功能检查测试脚本的语法错误,利用QTP脚本编辑界面的调试功能检查测试脚本逻辑的正确性。(4)运行测试脚本。可运行单个”Action“,也可批量运行测试脚本。(5)分析测试结果。使用QTP的测试结果查看工具查看测试结果,检查测试运行过程的正确性。1.3.2在关键字视图中为测试步骤添加注释•在关键字视图的表格列头中单击鼠标右键,选择“comment”,则会多出一列名为“comment”的列,在这一列中可为每一个测试步骤添加注释。1.3.3录制测试脚本•前面对QTP的录制进行了设置,在界面可以选择以下三种方式录制。录制完脚本,点击stop停止脚本的运行。或按F4点Run按钮运行一下脚本,看脚本的录制是否正确。1.3.4插入检查点•如果想检查登录按钮的名称是否为”登录“,如果登录名称是”登录“,那么认为测试通过。这可在关键字视图中通过QTP的检查点插入功能来实现。方式如下:(1)首先,定位到登录按钮所在的测试步骤。(2)然后点击右键,选择菜单”InsertStandardCheckpoint“,(3)在界面中,选择需要检查的属性。点击”ok“后,则可在关键字视图中看到新添加的检查点步骤。1.4编辑测试脚本1.4.1ObjectSpy的使用QTP提供的”ObjectSpy“工具可用于观察运行时测试对象的属性和方法。选择菜单”Tools|ObjectSpy“,出现如图所示界面•在界面中单击右上角的手型按钮,移动到测试对象上,单击鼠标左键选择测试对象,会自动获取到该测试对象的所有属性和方法1.4.2对象库管理•在QTP中,选择菜单”Resources|ObjectRepository“,注:QTP在录制测试脚本的过程中会把界面操作涉及的控件对象都自动添加到对象库中,但是哪些未被鼠标点击或键盘操作的界面控件则不会添加到对象库中。1.4.3把测试对象添加到对象库中在对象库的管理界面中,选择菜单”Object|AddObjecttoLocal“,然后选择测试界面中的某个控件,点击”ok“,控件被加到对象库中。1.5参数化测试•在QTP中,可以通过测试脚本中固定的值替换成参数的方式来扩展测试脚本,这个过程叫”参数化测试“,能有效地提高测试的灵活性。在QTP中可以使用多种方式对测试脚本进行参数化,数据表参数化(DataTableParameters)是其中一种重要方式,还有环境变量参数化(EnvironmentVariableParameters)、随机数参数化(RandomNumberParameter)等。1.5.1参数化测试步骤•下面以通信技术的登录页面为例,进行参数化(1)选择”userinfo.userName“所在的测试步骤行,单击”Value“列所在的单元格,如图(2)单击单元格旁边的”#“按钮,如图在这个界面中,选择”Parameter“,在旁边的下拉框中选择”DataTable“,在”Name“中输入参数名,也可以选择默认名,在”LocationinDatasheet(local)“中可以选择”Globalsheet“,也可以选择”Currentactionsheet(local)“,它们的区别是参数存储的位置不同。(3)单击”OK“按钮,在关键字视图中可看到,”Value“值已经被参数化,替换成”DataTable(“userName”,dtGlobalSheet)“(4)选择”View|DataTable“,可看到如下页面(5)把password也进行参数化,如上图QTP在运行时,就会从上图所示的表中提取数据来对测试过程中的各项输入进行参数化。总结•1.如果录制的对象在回放时提示无法识别,可以用此对象的属性来标识该对象。•2.在参数化设置时密码长度过长,导致回放失败,解决方法如下:•密码参数化有两种方式:•一种改用Set方法•一种用Crypt对象的Encrypt方法加密后再参数化•因为SetSecure方法后面必须是加密的字符串,所以你输入的8位数字也好9位数字也好那都只是表示明文,并不是说SetSecure会根据你指定的这个字符串输入密码。所以你这个时候可以改用Set方法来实现输入密码。•如果你一定要使用SetSecure方法,也可以。举例:•比如密码是mercury,你用Crypt.Encrypt(mercury)可以得到一个值464d059be45f8d524b913574b017ed492a8b8d4b•然后你在SetSecure后面要加上这串密文!而不是你的明文密码。•SetSecure方法:•object.SetSecureText•其中的参数Text,是QTP对密码的明文经过加密算法生成的一个字符串。其目的是保护测试脚本和测试数据中的密码信息。RFT基本使用•RFT(RationalFunctionalTester)是IBM基于Eclipse开发的一款自动化测试工具,支持JAVA语言进行编写脚本,强大的日志输出。(1)创建一个FunctionalTest项目•从FunctionalTester的菜单,点击文件新建FunctionalTest项目。(2)配置应用程序进行测试•点击配置-配置应用程序进行测试,添加要进行测试的程序(3)新建测试脚本•点击创建新脚本,选择好脚本路径,输入脚本名称。(4)编写测试脚本•RFT脚本语言为JAVA,继承了JAVA所有特性。编写测试脚本有两种模式,一种是录制脚本。一种是用JAVA语言编写脚本。前着虽然不用具备编程能力,编写速度快。但后期对脚本的维护也是比较困难的。而用JAVA语言进行编写的脚本,大大减少对后期脚本的维护。也能够减少项目中大量重复的代码。(5)测试对象检查器•测试对象检查器是RFT中一个可以查看控件属性、方法的检查器。(6)数据驱动•脚本主要是对控件对象进行操作,脚本需要的参数和脚本是分来的,这样有助于自动化工程的维护。存放参数可以用RFT工具自带的Datapool或JAVA的配置文件。(7)验证点•测试的过程中,你也可以针对你要测试应用的数据和对象属性插入验证点。验证点是当我们要判断我们的测试脚本是否成功,那么我们就必须有一个实际结果和预期结果进行对比,如果一致那就说明测试脚本运行成功。在脚本中可用IF来进行判断从而来证明验证点通过。(8)日志输出你能够使用三种类型的FunctionalTest日志来查看你的回放结果。这些日志以不同的格式包含相同的信息:•Text--在FunctionalTest脚本窗口以ASCII的格式显示日志。•HTML--以HTML格式在你的缺省浏览器中显示日志。•TestManager--在TestManager的测试日志窗口显示FunctionalTest日志信息。(9)自动化框架•自动化框架是了为更方便我去做好自动化测试,目前我们用的只是一个简单的脚本加配置文件的框架。我们想要把自动化测试做得更好,折需要一个更完善、稳定的自动化。(10)自动化框架扩展•虽然RFT工具本身已具备很多很强大的功能。但是由于我们自身的需求,它还是没能够满足我们的要求。为了使RFT工具更好的满足我们,我们必须开发适合自身需求的扩展插件。而我们都知道RFT是基于Eclipse平台的工具,Eclipse支持插件开发,可以开发满足我们需求的插件。如开发出功能更强大的日志插件。谢谢!

1 / 33
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功