




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
自动化工具与框架实践北京品恩科技有限公司 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支持插件开发,可以开发满足我们需求的插件。如开发出功能更强大的日志插件。谢谢!9、春去春又回,新桃换旧符。在那桃花盛开的地方,在这醉人芬芳的季节,愿你生活像春天一样阳光,心情像桃花一样美丽,日子像桃子一样甜蜜。2月-252月-25Sunday,February23,202510、人的志向通常和他们的能力成正比例。21:11:2021:11:2021:112/23/20259:11:20PM11、夫学须志也,才须学也,非学无以广才,非志无以成学。2月-2521:11:2021:11Feb-2523-Feb-2512、越是无能的人,越喜欢挑剔别人的错儿。21:11:2021:11:2021:11Sunday,February23,202513、志不立,天下无可成之事。2月-252月-2521:11:2021:11:20February23,202514、ThankyouverymuchfortakingmewithyouonthatsplendidoutingtoLondon.ItwasthefirsttimethatIhadseentheToweroranyoftheotherfamoussights.IfI'dgonealone,Icouldn'thaveseennearlyasmuch,becauseIwouldn'thaveknownmywayabout.。23二月20259:11:2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 买房有物业合同范本
- bt合同ppp合同范本
- 企业人事聘用合同范本
- 出租保安服装合同范本
- 单位购仪器合同范本
- 先打款后开票合同范本
- 协议付款合同范例
- 上门宴席服务合同范本
- 东莞企业劳务合同范本
- 儿童游泳班合同范本
- 2025年企业法务顾问聘用协议范本
- 教育部人文社科 申请书
- 无菌手术台铺置的细节管理
- 《康复评定技术》课件-第五章 运动控制
- 议论文8(试题+审题+范文+点评+素材)-2025年高考语文写作复习
- 【理特咨询】2024生成式人工智能GenAI在生物医药大健康行业应用进展报告
- 2025新人教版英语七年级下单词默写表(小学部分)
- 2025年春新外研版(三起)英语三年级下册课件 Unit6第1课时Startup
- 2025江苏苏州高新区狮山商务创新区下属国企业招聘9人高频重点提升(共500题)附带答案详解
- 《蒙牛集团实施财务共享过程中存在的问题及优化建议探析》8800字(论文)
- 平抛运动的经典例题
评论
0/150
提交评论