它看起来像行(1221)试图通过名称访问WebList对象,但名称存储在一个变量中;它不是代码中的字符串文字。
可能有3种不同的事情发生在这里。 1)如果你试图使用描述性编程,那么它听起来像是vstrObjectName的内容没有包含使得QTP相信该字符串是描述的“:=”符号......所以,QTP认为存储在vstrObjectName中的字符串必须是Object Repository中对象的名称。
我想猜测你正在尝试使用描述性编程,因为(基于事实,父母和参数都包含在变量中),它看起来像避免使用任何字符串文字线。
2)如果你试图控制对象与对象存储库,那么无论是包含在vstrObjectName没有包含一个有效的对象名(属于objParent)字符串,或
3名)objParent提到的对象不是你期望的那个。
在任何情况下,如果是我,我会做的第一件事是线1221作为前添加一个print语句: 打印“vstrObjectName:“” & vstrObjectName &“”” ......和运行它再次。这应该显示你正在引用的字符串。我猜测结果输出线不是你所期望的。
要检查的另一件事是确保包含该行的操作或函数是从包含该操作的OR范围内的该命名对象的操作中执行的。 (即打开动作并按下CTRL-R,它会显示该动作可见的组合或)。如果该行位于函数库中,并且从没有该对象的操作中调用它的本地OR或附加的共享OR,那么您将得到相同的错误。如果使用多个动作,这种问题很容易引起,并且包含对包含行(第1221行)的函数的调用的动作由于它的OR范围而实际上并没有可用的对象。
要回答你问的问题 - 如何将对象添加到OR中 - 你可以使用几种方法 - 记录,guispy添加到OR按钮,从OR屏幕手动添加等......但最后,你需要OR中的对象具有与vstrObjectName中的任何匹配的名称。
欢迎来到Stack Overflow。请通过提供更多信息来帮助我们回答您的问题:您正在运行哪个脚本?你期待什么结果?它有助于提供更多与错误有关的代码。有关提问的有用提示,请访问http://stackoverflow.com/help/on-topic – ralphearle