转载:http://sujing1981.blog.163.com/blog/static/27025145201132811141399/
一、解决回放错误时QTP停止运行问题:
在使用QTP进行功能自动化测试时,由于环境的不可控会就会出现无法预知的异常情况,这样使得QTP在遇到异常情况时会停止运行,那可能一晚上都时间就浪费了。所以我们必须使QTP在遇到特殊情况时能跳过错误继续运行,那么就要进行相关设置:
1、打开“File”下的“Settings”选项;
2、选择“Run”设置“When error occurs during run session:”(当运行会话期间出现错误)项;
3、“When error occurs during run session:”后面有几个参数可以选择:
- pop up message box:出现错误时弹出消息框;(选择这个需要人工点击确定消息框,不能自动跳过)
- proceed to next action iteration:继续执行下次迭代;(自动跳过错误,继续执行下个action迭代)
- stop run:停止运行;(呵呵,这个不用解释)
- proceed to next step:继续执行下个步骤;(自动跳过错误,继续执行下一步骤,也可以说是下个语句)
- proceed to next action iteration与proceed to next step的区别:action是停止运行本次action的所有语句,从新运行下个action;而step时跳过发生错误的语句,执行下条语句,并不跳出本次action的执行。
4、设置完后点击确定,就可以按照你设置的情况进行处理;
二、回放过快使得回放不成功:
由于QTP自动回放脚本,执行相关操作,所以执行动作比较快(比手动快多了)。所有有时候被测试系统还没处理完上一步操作,QTP已经在执行下一步动作了。那这时QTP就无法执行成功,因为还没有出来相关界面或对象,此时QTP就会认为执行错误。(毕竟是机器,还不能和人一样去判断。很多人认为自动化就是不用人干预,电脑自己就能做完,哎,理解错误啊,其实想想就知道,现在的技术是不可能的。跑题了,因为遇见很多这样错误思想的领导,真郁闷),那么怎么让QTP放慢执行速度呢。QTP提供了两种设置等待时间的方式:
方式一:单条语句等待时间
所谓单条就是,你想要在执行哪条语句后等待一段时间再执行下条语句。
在需要等待的语句间添加:wait(5) ,括号里面的数值就是等待的时间,单位为秒;
格式:
代码语句一
wait(5)
代码语句二
方式二:全局语句等待时间
所谓全局就是,你设置后在回放时每条语句执行后都等待设置的等待时间再执行下条语句。
1、打开“Tools”下面的“Options”中设置;(这是QTP的选项设置,除非你重装QTP或恢复默认设置,不然不用每次都修改)
2、设置“Run”选项的“Run mode”
Nomal(displays execution marker):默认设置,执行设置的等待时间。时间在其下面进行设置;
- Delay each step execution by ***** milliseconds:****为设置的时间,这里的单位为毫米,1秒=1000毫米。所以你要设置等待3秒得话,这里得设置为3000;
- Fast:快速的执行。
三、QTP弹出提示"当前安全设置禁止安全运行该页中的activeX控件"的解决方法:
在录制好的QTP脚本中,点击修改这些脚本时,可能提示"当前安全设置禁止安全运行该页中的activeX控件"。关于这个Active的对话提示窗口,问题在于QTP的设置,要消除该提示窗口,应对QTP作如下设置:
tools---options..------Active Screen----Advanced-------点选Load ActiveX controls
作过如上设置之后,重新录制脚本,录制完成后,在QTP的Expert View中编辑脚本代码,QTP就不会再弹出关于Active控件的对话框了。