未找到对象时,UFT中的Exists方法会产生一般运行错误

时间:2019-04-11 19:59:34

标签: qtp uft14

我正在运行一个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

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

2 个答案:

答案 0 :(得分:0)

运行错误说明了什么? 尝试将“ If”语句包装为: 关于错误继续 如果...。那么

如果结束 '如果在这里检查Err.Description <>“”,则可能提示您出了什么问题。 出现错误时转到0

答案 1 :(得分: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