51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2126|回复: 1
打印 上一主题 下一主题

[原创] 脚本出错时什么时候调用截屏函数比较好?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-5-17 09:51:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近为项目做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 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-5-17 12:02:29 | 只看该作者
应该在每个Action中自己判断是否执行成功了,最后ExitAction 返回一个值用于标识是否成功执行,这样LoadAndRunAction就可以依据这个返回值来判断,从而决定是否截图
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-5-17 12:08 , Processed in 0.073790 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表