我的测试有多个嵌套函数。可以从任何其他函数调用任何函数。在一个步骤中,我需要读取错误消息om网页并重试,忽略或中止:
Function DataProcess_Errors (Arg1, Arg2, Arg3, Arg4)
If Mybrowser1.WebTable("html tag:=TABLE","html id:=Table2","name:=WebTable","visible:=True").WebElement("html tag:=DIV", "html id:=divErrorMsg").Exist(1) Then
If Len(Mybrowser1.WebTable("html tag:=TABLE","html id:=Table2","name:=WebTable","visible:=True").WebElement("html tag:=DIV", "html id:=divErrorMsg").GetROProperty("innertext"))>0 Then
BtnClicked = msgbox (Mybrowser1.WebTable("html tag:=TABLE","html id:=Table2","name:=WebTable","visible:=True").WebElement("html tag:=DIV", "html id:=divErrorMsg").GetROProperty("innertext"), 18, "Error occured")
If BtnClicked = 3 Then 'if clicked "Abort"
ExitRun
ElseIf BtnClicked = 4 Then 'if clicked "Retry"
Call DataProcess_Errors (Arg1, Arg2, Arg3, Arg4) 'call this function
ElseIf BtnClicked = 5 Then 'if clicked "Ignore"
Exit Function 'continue to next step
End If
ElseIf Mybrowser1.WebElement("html tag:=DIV", "html id:=divInfo").Exist(1) Then
print Mybrowser1.WebTable("html tag:=TABLE","html id:=Table2","name:=WebTable","visible:=True").WebElement("html tag:=DIV", "html id:=divInfo").GetROProperty("innertext")
End If
End If
End Function
问题是,该功能不会退出测试。我尝试了ExitTest
,ExitRun
,ExitAction
- 没有一个退出测试但继续下一步。
接下来尝试:
Dim qtAppObj : Set qtAppObj = CreateObject("quicktest.application")
qtAppObj.Test.Stop
有了这个UFT敌人进行调试并暂停 - 没有任何作用,只能从任务管理器中“杀死”UFT。
任何建议,任何建议?
P.S。 (Arg1,Arg2,Arg3,Arg4)应该在那里,因为所有函数都由GetRef
调用,它应该将这些变量传递给库中所有函数的90%。
答案 0 :(得分:0)
有同样的问题,并且至少花了两个小时修复。
ExitTest
,ExitAction
,ExitComponent
对我不起作用是
由在其之前的顺序中设置On Error Resume Next
引起的。
更准确地说,它以前只是设置为一种功能。
为了快速说明。
On Error Resume Next
Check something
For a certain condition: Call ExitRun("TEST")
Public Function ExitRun(str_inExitType)
On Error Goto 0
Select Case UCase(str_inExitType)
Case "TEST" ExitTest
End Function
即使在ExitRun函数中有On Error Goto 0
,它也无法正常工作。
我不得不在以前将其设置为On Error Goto 0
的函数中将其设置回On Error Resume Next
。
On Error Resume Next
Check something
On Error Goto 0
For a certain condition: Call ExitRun("TEST")
很奇怪,不明显。