zero0223 发表于 2009-9-18 14:29:35

有没有方法使action出错时自动重新运行action

RT

zero0223 发表于 2009-9-18 14:33:11

设置里只有这四个选项
错误弹出框、停止运行、继续下一步语句、继续下一次action循环

羊肉泡馍 发表于 2009-9-18 17:00:03

楼主,这是不可能的事情。如果几万个action,一次都出错,如何处理?出错类别如何定义?够你费脑筋的。。。实际上,根本不需要啊

ls_721521 发表于 2009-9-18 18:26:36

几万个action...
哪能有那么多。。。

另外楼主应该考虑当报告为错误时重新执行。

zero0223 发表于 2009-9-19 08:43:36

3L的,我只需要出错的action重新执行,不知道你是如何理解出几万个来的

chooseyou123 发表于 2009-9-19 12:26:50

出现QTP内部错误时,如:找不到对象。可以跳过直接运行以下步骤的方法:
在file->settings->run 中 When error occurs during run session 设置为procced to next step
或者使用全局错误处理机制:代码中加上 on error resume next
至于重新运行的话,目前我不知道有这个设置,
你可以用脚本实现,
If onerrorThen
msgbox "aa"
        Call Rerun()
End If


Function Rerun()
        projectPath = Environment("TestDir") & "PracticeError"
       
        Dim qtApp
        Dim qtTest
        Dim qtResultsOpt
       
        Set qtApp = CreateObject("QuickTest.Application")
        qtApp.Launch
        qtApp.Visible = True
        qtApp.Open projectPath, TRUE, TRUE
        Set qtTest = qtApp.Test
       
                Set qtResultsOpt = CreateObject("QuickTest.RunResultsOptions")
                qtResultsOpt.ResultsLocation = projectPath&"\result"
                qtTest.Run qtResultsOpt, True   
End Function

chooseyou123 发表于 2009-9-19 13:30:57

上面那个好像不行,我随便调试了下,因为QTP是已打开的。

刚想了下,其实我们想复杂了,这个很简单,。不要任何设置
On error resume next
'出错了的语句
If Err<>0Then
RunAction "Action1",oneIteration' 出错后,运行到这一句,就直接又跑到脚本第一行重新执行了。调试通过
End If
页: [1]
查看完整版本: 有没有方法使action出错时自动重新运行action