原帖由 vaguely 于 2007-9-12 18:51 发表
下面这段话是Yabest曾经说过的
我们的框架,因为要捕捉错误和控制错误,所以错误模式设置成了遇错返回。
然后将Case脚本写在函数里,外层主控用如下方法来控制Case函数的运行。
这样某个Case执行失败了,不会 ...
原帖由 vaguely 于 2007-9-13 10:35 发表
谢谢winfood!
可是我在设置种选择“遇错退出”
发生错误好无法执行到函数内发生错误的下一句,所以无法得到返回值的。
再次请教大家
原帖由 yabest 于 2007-9-13 15:11 发表
QTP提供全局错误处理模式,有Popup message box,Process next action iteration,Stop run,Process next step这四种。
QTP也提供On Error Resumt Next/On Error goto 0的局部错误处理模式。可以在局部范围 ...
原帖由 jackymail 于 2007-9-13 16:51 发表
说得很细致,学习了。
不过有一个问题。如果局部模式高于全局,那么On Error Resumt Next/On Error goto 0对任何一种全局模式都是有效的。
也就是说它们产生的效果是一样的。
原帖由 vaguely 于 2007-9-13 17:02 发表
Yabest, 还想继续问你
请问您是怎么做的“杀掉被测试软件,并重新运行被测软件"
我测是web应用系统,出错后,主窗口自动被杀掉了。请问别的副窗口怎么杀掉呢?谢谢
原帖由 yabest 于 2007-9-13 16:58 发表
不是说了嘛,局部高于全局,但是局部只在当前函数的局部范围内有效。
而Case函数及其子函数是受全局控制的,这就不一样了!
比如说这个主控Test,如果全局的设置成On error continue next step,那么Case ...
原帖由 jackymail 于 2007-9-13 17:34 发表
On error resume next
call testcase
msgbox err.number
err.clear
On error goto 0
Function testcase
msgbo "Test case"
End Function
不知道我这段话是不是文中讨论的问题
我在function里面故 ...
原帖由 yabest 于 2007-9-13 17:39 发表
你试试这个!对象库里不用建任何对象!
On error resume next
call testcase
msgbox "Error Number=" & Err.Number & ", Error Desc=" & Err.Description
err.clear
On error goto 0
Function ...
原帖由 vaguely 于 2007-9-13 17:42 发表
好像只有我们几个在讨论这个帖子。似乎大多数人不太感兴趣。
不过yabest的方法,可以抛弃在程序中不厌其烦的写出错判断,这么好的方法没人顶,
我也只好自己偷着乐了
原帖由 vaguely 于 2007-9-13 17:52 发表
"如果自己编写容错和错误收集"
那样的话,要写多少呢?严格的话,每一个步骤都要写。
我反正觉得太累了。
Yabest的方法,不用提前写任何的错误预判。
却可以捕捉到任何的错误,以及信息。还有错误发生的 ...
原帖由 yabest 于 2007-9-13 18:11 发表
刚实验了一下,都晕了,好像还更复杂!好像多了一条规律!
On Error Resume Next/On Error goto 0范围内调用的子孙函数,都自动变成Stop Run模式了!!!
我们主控Test本来就是Stop Run模式,所以没受影响 ...
原帖由 jackymail 于 2007-9-14 15:25 发表
我自来这论坛以后,除了3个鸡蛋,什么都没得到过。被人用光200多积分。从高级战友一夜变成新手上路。
3个鸡蛋,3个人送的。。。。。
原帖由 ppent 于 2007-10-11 11:59 发表
...
yabest的这种方式应用于顶层的主控脚本中,在此脚本中通过call function的方式调用"本脚本中"的其他函数。因此,测试用例必须以function的形式出现在主控Test中,才能达到这种局部和全局的错误处理控制效果。
问题1:如果将function统一放到vbs中,则错误控制处理无效(出错时直接stoprun了,不能返回到主控Test)。但将所有的用例以function的形式放到主控Test中不便于维护。
问题2:如果将function换成Action,将用例放到各个usable的Action中,在主控Test调用,该错误处理控制也无效。
原帖由 木卫十二 于 2007-10-11 14:31 发表
嗯,跟楼上有相似的问题。。
我的错误处理是用Recovery Scenario调用处理错误的Function来进行的,也有一些缺陷。
正琢磨着更好的办法。。。
原帖由 yabest 于 2007-10-11 15:39 发表
怎么叫错误控制处理无效呢?函数不管是放在vbs文件里,还是放在action里,通过On Error Resume Next/On Error goto 0方式调用函数,主控Test都可以捕获函数里发生的错误的!
原帖由 ppent 于 2007-10-11 16:25 发表
奇怪了,在我的脚本中,只有当前Test的function call才能正确的处理错误,如果放到VBS中就直接停止了。Test Settings的错误处理是stop run。
yabest,是否还有其他地方需要设置?
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) | Powered by Discuz! X3.2 |