QTP-录制与回放

录制与回放—QTP的开关

1.   录制”是指以录制的方式并配合使用其他QTP自带的功能录制出来的脚本,从而完成自动化测试脚本编写的整个过程(线性脚本、结构化脚本都在此范畴之内),而不是指单一的录制功能。

2.   检查点,在这里点到为止,后续的“验证点”

3.   即使选择正确的插件,有时仍然会出现图1-18中的情况。如果以后发生类似的问题,解决办法相当简单,只要关闭QTP和测试网页,然后先打开QTP,再打开测试网页即可解决!为什么会这样呢?说的简单点就是,QTPBHO机制是挂钩的。因为安装完QTP之后,每次打开IE,浏览器会自动加载BHOManager,而QTPIE中识别对象是依靠一个名为BHOManager Class的动态链接库来完成的,如果是先打开IE再打开QTPQTP就不能成功读到BHOManager Class这个动态链接库,从而导致QTP识别对象失败。

4.   BHO(Browser HelperObject,浏览器辅助对象,简称BHO)。BHO是微软推出的作为浏览器对第三方程序员开放交互接口的业界标准,通过简单的代码就可以进入浏览器领域的“交互接口”(INTERACTIVED Interface)。BHO对象依托于浏览器主窗口。实际上,这意味着一旦一个浏览器窗口产生,一个新的BHO对象实例就要生成。任何BHO对象与浏览器实例的生命周期是一致的。

2Record and Run Settings

1.        手工写脚本的情况下,一定是选择Recordand run test on any open browser。

2.        在QTP脚本开发中,打开浏览器的函数是SystemUtil

3.        Applications opened by Quick Test:被QTP打开的应用程序可以是由“6”中手工添加程序的方式也可以是由代码的方式,代码函数仍然是SystemUtil

4.        Applications opened via the Desktop (by the Windowsshell)。通过快捷方式或快速启动栏打开的程序(包括开启录制之前、之后打开的)

5.        Web Event RecordingConfigurationTools→Web Event Recording Configuration

等级越高模拟效果越好,但是也可能出错或者效率降低

6.        脚本录制良好建议:

l  上文中的123都是读者必须了解,并在项目实际应用中使用价值比较高的录制方面的知识点。最后,作者对录制进行总结,并根据实际经验给出一些意见。

l  在开始录制之前,应关闭录制会话不需要的所有浏览器、网页或应用程序,以免造成不必要的困扰,从而影响工作效率。

l  如果在网站上进行录制,应确定该网站的安全区域。当在Web浏览器中录制时,浏览器可能用安全警告对话框提醒,这样在脚本运行时就会由于对象库中没有事先添加安全警告对话框这个对象而导致脚本运行失败。解决方案有两个:一是选择禁用/启用这些对话框,二是将安全警告对话框添加进对象库。

l  事先明确好准备在录制和运行测试时,如何打开Web浏览器或应用程序。可以选择让QTP打开一个或多个指定的Web浏览器或应用程序,也可以在已经打开的Web浏览器或应用程序上录制和运行,但是务必事先明确,以免发生不必要的意外

如果要对Web对象进行录制,必须对该对象的值进行更改或初始化还原,以便使QTP录制到该步骤。例如,要录制WebList对象的选择操作,如果页面上已经选择过某选项了,就必须单击该下拉列表,滚动到最初的那个默认选项(当然,这一步可别录进去啊!),然后再重新选择你准备选择的备选项(这叫还原)。如果不还原,可能会导致脚本在运行时无法通过。

7.        录制某些不是很熟悉的控件的时候可以利用QTP提供的录制功能显示出正确的代码

8.         在脚本的编写过程中尽量多使用With函数,益处良多

 

3种录制模式:正常录制、模拟录制、低级录制

1.        正常录制模式

直接对对象的操作,可以说此类模式继承了对象模型的所有优点,能够充分发挥对象库的威力。它通过识别程序中的对象来代替以前依赖识别屏幕坐标的形式。但是正常模式并不能保证识别程序中所有的对象,因此,仍然需要其他两种模式来补充。

2.        模拟录制模式(Analog Recording

此类模式录制了所有键盘和鼠标的精确操作,对于正常录制模式不能录制到的动作,可以使用模拟录制模式来弥补。

注意:选择模拟录制模式,如果在回放时,改变了屏幕的分辨率或者窗口/屏幕的位置,回放就会失败。

开启方式:Automation→Analog recording

3.        低级录制模式(Low Level Recording

此类模式是用来录制QTP不能识别的环境或对象。它不止录制了鼠标和键盘的所有操作,对对象的位置要求也非常严格。

开启方式:Automation→Low Level Recording

 

1.3.4 有必要让你掌握尤其重要的QTP回放机制

1.        回放机制是封装对象与真实对象的匹配,从上到下执行,一句一句执行的,特殊情况就是,比如遇到Function时会

2.        File→Settings→Run

1Data Table iterationsQTP自带的数据表功能在运行时的迭代设置

         Run on all rowsRun one iteration onlyRun from row XX to XX

2When error occurs during runsession:当在运行期间发生错误时

         pop up messageboxproceed to next action iterationstop runproceed to next step

3Object synchronizationtimeoutXX seconds. 同步的延时时长(默认20秒)

4Disable Smart Identificationduring the run session. 默认不勾选,若勾选则在运行期间屏蔽智能识别功能,也就是说,即使测试对象开启智能识别功能,只要在运行时勾选这个选项,智能识别就不会生效,可以说这个功能是一个总阀门。

5Save image of desktop whenerror occurs (if test is run by the HP Business Process Monitor). 在出现错误时,截图并在QTP Report中反应。

3.        Tools→Options→Run

(1)      Run mode (Normal or Fast)Normal可设置每步停顿时间

(2)      如果选择了Fast,在运行的时候是不会出现黄色箭头的,切记!

4.        QTP的两种回放模式设置

Event模式事件跟踪:

Mouse模式鼠标跟踪:举些实例,如QTP运行时触发了Click事件后,应该弹出页面,却被IE给拦截了。而手工点击可以成功;还有当需要操作鼠标右键时等这些情况都可以临时把回放模式从事件跟踪模式切换成鼠标跟踪模式,

设置方法:Tools→Options→Web→Advanced→Run settings→Replay type

代码控制方式:Setting.WebPackage("ReplayType") = 1[/2]


QTP入门-检查点输出值参数化 录像 检查点 输出值 参数化 同步点 1.检查点 目的: 检查点比较指定属性的当前值与期望值,以判断当前的程序(或站点)功能是否正常。 在密码正确的情况下预期结果是进入主界面,检查项只有enabled 方法: 在Active Screen显示的 Flight Reservation窗体右键,insert standard checkpoint , 设置checkpoint properties 勾选enabled OK 2.输出值 目的: 输出值就是通过检查把特定值输出到特定环境 可以把值输出到data table,也可以输出到环境变量、当有输出变量时,还可以输出到Test/action parameter。 由于order no是随机产生的,要把在insert order点击后产生的order number 用于open order 输入order no的步骤 方法: insert order 窗体中 order no 右键 insert output value -OK Output value properties 中选择text 因为是在insert order之后产生order number 所以要选择 after current step -- OK configure value显示输出值将输出到data table 中的Order_No_text_out列 在open order 中 点击edit set 12后的 value configuration options 中不使用常量12,而是使用参数为Data Table 中的Order_No_text_out 3.参数化 目的: 用于改变某参数而将用例重复执行 例如我们想执行4次,每次的买的票数不同。 方法: tickets 1 后的 value configuration options 中不使用常量12,而是使用参数为Data Table 中的tickets列 在tickets列加入每次要买的张数 注意: 1.只有当控件内容发生改变时它才能被QTP自动识别。 2.有些地方需要延迟才能进行 比如insert order需要等待才能产生ordernumber 结束后需要等待才能进入下次执行 可以在脚本中加入 wait 时间 除了wait以外,还可以通过设置同步点来解决上述问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值