我正在运行一个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
如果指定的对象可见,则此代码有效。但是,如果不是,则不会跳过代码,程序会因一般运行错误而死亡。
运行错误说的是什么?尝试将“If”语句包装为:On Error Resume Next If .... Then
结束如果'在这里检查是否Err.Description <>“”,它可能会暗示你出了什么问题。出错时转到0
这取决于运行错误所说的内容。我可能是你没有正确识别对象。你在使用描述性编程吗?例如,如果您定义了一个对象,例如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