2

我正在运行一个 UFT 脚本(在 Windows 7 计算机上使用 UFT 14.51),该脚本有时会自行运行,有时会被另一个脚本作为操作调用,因此在特定点它可能会或可能不会打开特定的窗口。(此脚本正在测试 SAP GUI 应用程序;它不是基于 Web 的。)

我尝试将对象名称直接放入 Exists 行,而不是使用 Set oObject 定义它。

我尝试将对象重新添加到存储库中。

代码如下所示:

Set sObject =  <repository object>
If sObject.Exist(1) Then
    ```do something```  
End if

如果指定的对象可见,则此代码有效。但是,如果不是,则程序不会跳过代码,而是会因一般运行错误而死亡。

4

2 回答 2

1

这取决于运行错误所说的内容。我可能是您没有正确识别该对象。你在使用描述性编程吗?例如,如果您定义了一个对象,比如 Java Button,那么当您引用它时,您必须提供拉取路径。所以:

Set sObject =  JavaWindow("the window").JavaButton(<repository object>)
If sObject.Exist(1) Then
    ```do something```  
End If

如果这不起作用,您可以向对象添加一个 Eval。所以:

Set sObject =  JavaWindow("the window").JavaButton(<repository object>)
If Eval(sObject).Exist(1) Then
    ```do something```  
End If
于 2019-05-21T15:35:53.347 回答
0

运行错误说明了什么?尝试将“If”语句包装为: On Error Resume Next If .... Then

End If ' 检查此处是否 Err.Description <> "",它可能会提示您出了什么问题。出错时转到 0

于 2019-04-21T20:25:56.130 回答