51Testing软件测试论坛

标题: 在QTP中遇到错误脚本能否让QTP自动跳过错误执行下面的语句? [打印本页]

作者: angelr80    时间: 2007-5-29 17:06
标题: 在QTP中遇到错误脚本能否让QTP自动跳过错误执行下面的语句?
请教各位大虾:

  在录制完一个完成的脚本后,运行脚本,假设脚本的某一句在对象库中找不到对象因此出现错误提示,一般情况下需要手动的点一下确定后才有可能会跳过出错的语句继续执行下面的语句.有时手动点OK后会自动停止执行下面的语句,直接结束运行,弹出结果框.
  不知道在QTP中可否进行设置,不管遇到任何错误提示,QTP都能自动的跳过这一错误继续执行下面的语句,真正实现自动化呢?
作者: 风过无息    时间: 2007-5-29 17:14
On Error Resume Next
On Error GoTo 0
作者: yzem99    时间: 2007-5-29 17:18
如下图,把选项改成proceed to next step
[attach]26358[/attach]
作者: angelr80    时间: 2007-5-29 17:41
标题: 回复 #2 风过无息 的帖子
不太明白你说的On Error Resume Next
On Error GoTo 0
是什么意思,是将这2个语句添加到脚本中吗?
作者: angelr80    时间: 2007-5-29 17:46
标题: 回复 #3 yzem99 的帖子
刚试了一下,好象不行,我这脚本的错误是因为对象的值发生改变了,我只是想实验一下不进行修改,能让脚本继续执行下去,那样夜间的时候才能自动跑脚本.
因为在工作中,需求是随时在变的,有可能对象找不到或是对象值发生变化了,晚上的时候跑脚本,第二天过来就知道大概哪里出错了,所以需要即使出任何错误,脚本都可能继续执行完成.
作者: yzem99    时间: 2007-5-29 18:04
标题: 回复 #5 angelr80 的帖子
我这边可以的,对象找不到,会报错到结果里去。我的9。1的。
作者: angelr80    时间: 2007-5-29 20:54
标题: 回复 #6 yzem99 的帖子
我的是8.2的,难道版本不同结果也不同吗?我设置后直接停止执行了,然后跳去执行第三个参数化。
作者: yzem99    时间: 2007-5-29 21:25
标题: 回复 #7 angelr80 的帖子
On Error Resume Next
On Error GoTo 0
加到脚本中,当发生错误时不报错。

跟版本有没关系就不清楚了,根据设定的意思是,当发生错误执行下一个step。应该是可以的,不会停止。
作者: angelr80    时间: 2007-5-30 09:23
标题: 回复 #8 yzem99 的帖子
脚本情况是这样的:我对一个数据进行了参数化,也就是说这个脚本要总共运行三次.调用第一次的数据时,脚本运行是正常的.运行到第二次的时候数据发生改变造成脚本内一些对象的值发生变化了,所以会出现对象的值找不到的提示.我希望的是能跳过这一条出错的语句,继续执行出错语句后面的语句.
我根据你说的方法设置后重新又执行了一次,当运行第二次时,跑到出错的那条语句这,确实没有再弹出错误提示了,但是也没有跳过错误语句执行下面的语句,而是停止了第二次运行,直接执行第三次,结果由于上一次执行的窗口没有关闭,执行第三次的时候一开始就已经出错了.
作者: joseph_wh    时间: 2007-5-30 10:17
标题: 回复 #9 angelr80 的帖子
你这里要加额外处理。
恢复出错后的环境到正常。
作者: kevin_swpi    时间: 2007-5-30 10:26
原帖由 yzem99 于 2007-5-29 21:25 发表
On Error Resume Next
On Error GoTo 0
加到脚本中,当发生错误时不报错。

跟版本有没关系就不清楚了,根据设定的意思是,当发生错误执行下一个step。应该是可以的,不会停止。



这个添加的代码和版本没有关系的

另外
"不知道在QTP中可否进行设置,不管遇到任何错误提示,QTP都能自动的跳过这一错误继续执行下面的语句,真正实现自动化呢?"
这句话 我不是很赞同 :)
作者: yzem99    时间: 2007-5-30 10:45
标题: 回复 #11 kevin_swpi 的帖子
"跟版本有没关系就不清楚了,根据设定的意思是,当发生错误执行下一个step。应该是可以的,不会停止。 "
不好意思,这句话回答不是On Error Resume Next问题,是在options对话框里设定为“proceed to next step”的情况。
作者: yzem99    时间: 2007-5-30 10:49
原帖由 joseph_wh 于 2007-5-30 10:17 发表
你这里要加额外处理。
恢复出错后的环境到正常。

同意这个意见,当出错时可能就退出当前的iteration了。就直接执行下一个iteration。所以要加个处理,在执行前先回复想要的状态,比如你要把那个打开的窗口先关掉。

[ 本帖最后由 yzem99 于 2007-5-30 10:51 编辑 ]
作者: zhang1987yuan    时间: 2009-6-4 15:28
谢谢!!!学习了啊!!!
作者: zhang1987yuan    时间: 2009-6-4 15:30
谢谢!!!学习了啊!!!




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2