51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1793|回复: 5
打印 上一主题 下一主题

[原创] 如何控制出错恢复处理RS触发的次数,以避免可能的死循环

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-9-24 09:20:51 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 026300 于 2012-9-24 09:22 编辑

对于出错恢复机制,QTP能处理object not visible,not found等六种情况,触发后执行后续指定的相应操作。但是触发了出错机制RS后,如果同样的错误(比如not found)再次会出现,又继续触发RS,请问,如果这种错误一直存在的话,会不会进入一个死循环,如何避免RS重复调用呢,在什么地方可以控制激活触发RS的次数?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

6#
发表于 2012-10-15 14:25:51 | 只看该作者
回复 5# 026300


这个其实不算很困难,用一个外部的文件者数据库来记录某个场景被恢复的次数即可.
当场景1被触发时,调用函数1,函数1会在指定文件或库中指定字段变更状态,改为已触发,并且触发次数+1,再判断当前该次数是否超过预先指定的上限,可以通过配置文件等方式来设置.
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2012-9-26 09:21:13 | 只看该作者
本帖最后由 026300 于 2012-9-26 09:23 编辑

回复 4# hsjzfling
嗯,谢谢。
不过,我在想“如果在RS调用的函数里加上判断,超过一定的次数就禁止触发RS”这种方式行不行。但是我不太清楚RS中有多个调用时如何禁止后续的某些操作。比如要求RS中执行的先后动作有:1、call function1;2、kill process1;3、call function2;4、call function3.由于某些原因,function1、fuction2和funciton3不能互相调用,那么禁止激活的处理应该放到这三个funciton中的那一个比较合适呢,因为我担心放到funciton1中禁止时,2.3.4还会执行,如果放到funciton3,前三步已经执行了。有没有一种exit机制,当禁止触发的条件满足时,直接退出整个RS。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2012-9-25 15:35:01 | 只看该作者
这个,比较困难,放在框架之中处理会比较方便一点。

RS只适合处理一些确定的偶然发生的事件,而非不确定的可能一定会发生的错误,比如程序变更或缺陷。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2012-9-25 11:31:33 | 只看该作者
没用过恢复场景的帮顶~
回复 支持 反对

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2012-9-25 11:24:45 | 只看该作者
顶上去看看
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-23 10:58 , Processed in 0.074898 second(s), 30 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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