|
最近为项目做QTP的自动化,想在出错的时候调用一个截屏函数,但是在调用的时机这个问题上迷惑了很久。希望得到高人指点迷津哈,呵呵
公司有自己的一套QTP framework,调用已经录好的script,方式如下:
动态产生一个action1,然后里面包含的脚本如下:
LoadAndRunAction "c:\QTPTest\OrderActions", "action1"
LoadAndRunAction "c:\QTPTest\OrderActions2", "action2"
LoadAndRunAction "c:\QTPTest\OrderActions3", "action3"
方法一:原来我做的是把截屏函数放在recovery scenario 里面,如果出现错误则调用它。后来发现如果在script当中某些关键步骤出错后可能会导致后面的step 都运行失败,这样的结果就是每次跑完脚本,发现截了很多图片,并且这些图片有很多重复的。
方法二: 现在我采用的是在每次LoadAndRunAction 之后都写一个判断runstatus的函数,类似 If reporter.RunStatus=1 then call QTP_Capture2() End If,这样的话就可以做到一个action只截一张图片。但是这个也存在一个问题,因为runStatus 是指action 运行到目前的一个status,就是说如果action1 运行失败了,即使action2跟action3运行成功,在action2、action3 后面取得这个runstatus 仍然是失败的,原因就是action1失败了。
这样的问题就是action2 跟action3 即使成功了也被截屏了。在截屏图片的文件夹中就多出了很多无效的图片...
其实我真正想实现的是一个出错的action截一张图片。
请问有没有办法在运行的过程中改变runstatus或者reporter.runstatus?
我试过了每次都赋值为“micPass”或者0,但是都是提示有错误,说不能为这个对象赋值。
是不是我的赋值方式有问题?
希望大家能分享一下你们的经验,谢谢!
[ 本帖最后由 topor 于 2010-5-17 09:59 编辑 ] |
|