QTP基础知识.ppt_第1页
QTP基础知识.ppt_第2页
QTP基础知识.ppt_第3页
QTP基础知识.ppt_第4页
QTP基础知识.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、QTP基础知识,精通QTP自动化测试技术领航 ,前言关于自动化测试脚本开发的经验与感悟,自动化测试脚本代码必须严谨、规范。 自动化测试脚本是参照自动化测试用例开发出来的,测试用例即是开发参照物。 发挥自己的想象尽一切可能使自动化测试脚本更智能、高效、稳定、复用性高。 开发过程中多利用程序插桩+断点,检查业务组件是否存在缺陷或代码是否存在漏洞。 自动化测试脚本开发完毕后,至少运行成功3次以上,方可认为脚本已经没有问题。,目录,录制与运行设置 回放机制 对象库对象 对象库编程 描述性编程 验证点和测试报告,Record and Run Settings录制与运行设置,Record and Run

2、Settings的位置:进入QTP上方菜单栏AutomationRecord and Run Settings。如右图所示。 点击Record and Run Settings后,会弹出一个窗口,窗口中有两个选项卡,分别是Web选项卡以及Windows Applications选项卡。,Record and Run Settings录制与运行设置之Web选项卡,Record and run test on any open browser。选中这个选项后,在录制的时候,这个选项需要手动打开浏览器,并且在录制的过程中可以随时暂停录制、修改、继续录制等。 Open the following ad

3、dress when a record on run session begins。选中这个选项后,会同时激活网址输入框及图中的3、4、5,在网址输入框中输入需要的被测网页地址即可,此时QTP就会打开该网页。,Open the following browser when a run session begins。在选中了图中的“2”后被激活,以下拉框形式选择浏览器类型,默认只有1个浏览器类型:Microsoft Internet Explorer。 选中2后,4、5默认勾选,Record and Run Settings录制与运行设置之Windows Applications选项卡,QTP中

4、的3种录制模式,正常录制模式。这种录制模式是直接对对象的操作,它通过识别程序中的对象来代替以前依赖识别屏幕坐标的形式。但是正常模式并不能保证识别程序中所有的对象,因此,仍然需要其他两种模式来补充。 模拟录制模式(Analog Recording)。此类模式录制了所有键盘和鼠标的精确操作。 低级录制模式(Low Level Recording)。此类模式是用来录制QTP不能识别的环境或对象。它不止录制了鼠标和键盘的所有操作,对对象的位置要求也非常严格。 注意:模拟录制模式和低级录制模式的前提是开启正常录制模式。 目录,QTP回放机制封装对象与真实对象的匹配,QTP根据脚本中记录下来的对象操作的顺

5、序进行回放(再通俗点的说法就是,在没有特殊情况下是从上到下执行,一句一句执行的,特殊情况就是,比如遇到Function时会“跳”)。QTP从脚本中读取到该对象,并根据对象的层次和名称到对象库中寻找相同名称的测试对象,在对象库找到相应的测试对象并获得该测试对象的属性,然后根据这个测试对象的属性,在运行的网页或应用程序中进行匹配,寻找运行时对象。如果成功匹配上,再根据脚本中记录的该对象的方法、动作和参数值进行应用,如果未能匹配上,则在超出了等待时间后报错,脚本即宣布运行失败。 QTP回放机制的重要相关设置 1FileSettingsRun 2FileSettingsWeb 3ToolsOption

6、sRun 4QTP的两种回放模式设置,FileSettingsRun,Data Table iterations. QTP自带的数据表功能在运行时的迭代设置。 When error occurs during run session:当在运行期间发生错误时。 Object synchronization timeout:XX seconds. 同步的延时时长(默认20秒)。 Disable Smart Identification during the run session. 默认不勾选,若勾选则在运行期间屏蔽智能识别功能,也就是说,即使测试对象开启智能识别功能,只要在运行时勾选这个选项,智

7、能识别就不会生效,可以说 这个功能是一个总阀门。Object Identification中的智能识别针对对象模型下的某一具体对象。 Save image of desktop when error occurs (if test is run by the HP Business Process Monitor). 在出现错误时,截图并在QTP Report中反应。该功能只限于业务组件的脚本运行。注意:要新建或者打开一个业务组件的必须条件是QTP和QC联通,否则会弹出错误信息。,FileSettingsWeb(这个设置只针对B/S架构的系统),Browser navigation timeo

8、ut:XX seconds:设置运行测试步骤之前等待网页加载时间的最大值(默认60秒)。,ToolsOptionsRun,Run mode (Normal or Fast):QTP在脚本运行时一共分两种运行模式。Normal模式是一种正常的运行模式,Fast则是一种快速运行模式(如果以QC调用QTP脚本并执行,默认且只可能是以Fast模式运行的;如果以QC调用QTP脚本并执行,默认且只可能是以Fast模式运行的)。 Submit a defect to Quality Center for each failed step:任何一个步骤出错自动提交缺陷至QC。前提条件:QTP和QC连接成功,否

9、则是灰色的。 View results when run session ends. 默认勾选,当脚本运行结束后自动弹出Report报告。相反,把钩取消掉就不会弹出Report了。 Stop command shortcut key. 停止运行的快捷键设置,默认是Ctrl+Alt+F5组合键,并可自行设置。别小看这个快捷键,如果在脚本运行的时候想使其停下来,一定要用快捷键,想靠点击图标是很有难度的,自己试试就知道了,特别是长脚本,这也算是个小经验吧。,QTP的两种回放模式设置,两种回放模式 Event模式事件跟踪 Mouse模式鼠标跟踪 切换回放模式的两种方法 (1)进入到ToolsOptio

10、nsWebAdvanced ,然后列表拖到最下面可以找到Run settings下的Replay type 可以看到QTP默认的回放模式是Event,也就是事件跟踪。如果现在切换到Mouse,点击确认后,回放时鼠标光标就会进行跟踪 (2)以代码控制,代码如下: Setting.WebPackage(ReplayType=2 这种方式可以在QTP运行时根据个性化需求来进行控制,随时可以进行开和关,这句程序的意思就是把回放模式设置为2。1代表事件跟踪模式,2代表鼠标光标跟踪模式。 目录,捕获对象时的模式切换(侦探Jack和对象库添加对象),半操作模式CTRL键(支持点击)按住CTRL键,可在抓取对

11、象时,进行点击操作。 全模式操作CTRL+ALT(支持点击和键盘输入)按住CTRL键,再按住ALT键,紧接着先松开CTRL键再松开ALT键,可在抓取对象时点击和输入,操作完成后,点击CTRL键,回到抓取对象状态。,对象库对象的基本操作,对象库的对象可以进行复制、剪切、粘贴和删除操作,如果剪切、复制或删除的是父对象,那父对象下的子对象会一起剪切、复制或删除。 注意Action的切换,可以通过Action查看不同Action下的对象(与对象库外的Action不同) 副对象 目录,对象库编程的3种方法,步骤生成器方式 Complete word方式 对象拖动生成方式 目录,步骤生成器方式,步骤生成器

12、是QTP的一种功能,Complete word方式,首先打开QTP并依次点击上方菜单栏下的EditAdvanced,在找到Complete Word后,读者会发现一个很尴尬的事情,就是QTP设定的Complete Word正是平常一直使用的切换中、英文的快捷键Ctrl+Space,而由于快捷键Ctrl+Space被优先认定为中、英文切换组合键,所以会导致QTP的Complete Word无效。 解决步骤: (1)右键单击语言栏,点击设置。 (2)点击键设置,选择输入法/非输入法切换。 (3)点击更改按键顺序。 (4)如图1-139所示的选择,然后点击确定。 在完成了以上4个步骤之后,就可以在E

13、xpert View中使用快捷键Ctrl+Space来调出Complete Word了,对象拖动生成方式,把对象拖动到Expert View里来快速生成代码,这种方式只支持QTP10.0以上的版本。 在这个窗口(Available Keywords)中不光显示所有的测试对象,还会显示所有的Functions,包括外部调用的和脚本内部本身的Function,同时也可以看到右键单击某个对象后可以点击Open Resource,可以通过这样一种方式来进入对象库,并直接定位到所选的对象在对象库中的位置,可以说这个窗口是非常实用的一个功能。,QTP 封装对象模型TO VS RO,GetTOPropert

14、y() 基本含义:获取对象库中某个对象的某个属性的值。 公式:ReturnValue =对象.GetTOProperty(封装属性名) GetTOProperties() 基本含义:获取对象库中某个对象的所有属性的值。 公式:ReturnValue =对象.GetTOProperties()。 SetTOProperty() 基本含义:设置对象库中某个对象的某个属性的值。 公式:对象.SetTOProperty“封装属性名”,“封装属性值”。 GetROProperty() 基本含义:获取实际在运行时的某个对象的某个属性的值(不是从对象库里面获取)。 公式:ReturnValue =对象.Ge

15、tROProperty(封装属性名)。 目录,描述性编程,描述性编程不高深。 描述性编程的两种写法。,第一种描述性编程,描述每个对象的属性及属性值,通过这个原理来虚拟成对象库中的对象,只是对象库是隐形的。 with Browser(micClass:=Browser).Page(micClass:=Page) .WebEdit(name:=wd).SetQTP自动化测试技术领航 .WebButton(name:=百度一下).Click end with,第二种描述性编程,使用Description对象(使用该对象可以返回包含一组Property对象的Properties集合对象) 要创建Pro

16、perties集合,需要先创建Properties对象,使用以下语法进行: Set objDescription=Description.Create() 先看以下脚本: Browser(micClass:=Browser).Page(micClass:=Page)._ WebEdit(html tag:=INPUT,name:=wd).Set此时描述对象的括号内不需要加引号 完全可以通过Description对象来实现同样的功能:,第二种描述性编程,Set objbrowser=description.Create():objbrowser(micClass).value=Browser S

17、et objpage=description.Create():objpage(micClass).value=Page Set objwebedit=description.Create() objwebedit(html tag).value=INPUT:objwebedit(name).value=wd Browser (objbrowser).Page(objpage).WebEdit(objwebedit).Set此时描述对象的括号内不需要加引号 最后需要记住释放对象,从最里面一层开始释放直到最外面一层 Set objwebedit=nothing Set objpage=nothi

18、ng Set objbrowser=nothing 目录,验证点和测试报告,QTP验证点分为和包括两项: 如何使用QTP做一系列的验证 如何查看测试报告,从而判断自动化测试用例的预期结果正确与否 使用QTP“原装”验证点函数进行一切检查工作 语法部分: object.CheckProperty(PropertyName,PropertyValue,TimeOut) 详解部分: 对象.CheckProperty方法(参数“属性名”,参数“属性值”,非必填项“延时”) (TimeOut单位是毫秒) 灵活的自定义验证点 Reporter函数Reporter.ReportEvent ReportEve

19、nt方法,灵活的自定义验证点,ReportEvent 后面必须跟一个“空格”,不能是其他任何字符或按键。在选中一个时间状态后(假设这里选中micDone),输入一个“逗号”,开始设置Details,具体内容自己决定。最后一个参数是ImageFilePath,这个参数不是必填项,作用是将截图填入到报告中,当然得把图片相应的路径填对。 示例 checkurl=trim(browser(micClass:=browser).Object.locationurl) If checkurl= Then reporter.ReportEvent micPass,step1,passed Else repo

20、rter.ReportEvent micFail,step1,failed End If 目录,step1- SystemUtil.RunIEXPLORE.EXE, wait 20 browser(micClass:=browser).N browser(micClass:=browser).page(micClass:=page).Sync:wait 30 checkurl=trim(browser(micClass:=browser).Object.locationurl) If checkurl= Then reporter.ReportEvent micPass,step1,passed else reporter.ReportEvent micFail,step1,failed End If,网站实际操作,step2- browser(micClass:=browser).OpenNewTab:wait 1 testhwnd=browser(name:=欢迎使用选项卡浏览).GetROProperty(hwnd) browser(name:=欢迎使用选项卡浏览).N step3- Browser(中国国际招标网-最大的电子招投标公共服务网站).Pa

温馨提示

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

评论

0/150

提交评论