执行脚本时出现以下错误:
WebList object was not found in the Object Repository.
Check the Object Repository to confirm that the object exists or to find the correct name for the object.
Line (1221): "objParent.WebList(vstrObjectName).select vstrValue". 发布于 2016-03-08 17:49:30
我理解,它不应该像对象在存储库中不可用那样简单,而是以防万一-尝试使用“在存储库中定位”。
发布于 2016-03-23 01:39:16
看起来第(1221)行试图通过名称访问WebList对象,但名称存储在一个变量中;它在代码中不是字符串文字。
这里可能有3种不同的情况。
1)如果你试图使用描述性编程,那么听起来vstrObjectName的内容不包括":=“符号,这会使QTP认为该字符串是一个描述……因此,QTP认为存储在vstrObjectName中的字符串必须是对象存储库中对象的名称。
我猜你是在尝试使用描述性编程,因为(基于父变量和参数都包含在变量中的事实),看起来你是在避免在该行中使用任何字符串文字。
2)如果您试图控制具有来自对象存储库的名称的对象,则vstrObjectName中包含的字符串不包含有效的对象名称(属于objParent),或者
3) objParent引用的对象不是您期望的对象。
在这些情况下,如果是我,我要做的第一件事就是在1221行之前添加一条打印语句,如下所示: print " vstrObjectName :'“&vstrObjectName& "'”...and run it as。这应该会显示您所引用的字符串。我猜结果输出行并不是您所期望的。
另一件要检查的事情是确保包含该行的操作或函数是从包含其or作用域中的命名对象的操作中执行的。(即打开操作并按CTRL-R,它会显示对该操作可见的组合OR )。如果这一行在函数库中,并且它是从一个在其本地OR或附加的共享OR中没有对象的操作中调用的,那么您将得到相同的错误。如果您使用多个操作,并且包含对包含您的行的函数的调用的操作(第1221行)由于其OR作用域而实际上没有该对象,则很容易导致此类问题。
要回答您提出的问题--如何将对象添加到OR中--您可以使用几种方法--录制、guispy的add To OR按钮、从OR屏幕手动添加,等等。但最终,您需要OR中的对象具有与vstrObjectName中的任何内容相匹配的名称。
发布于 2017-09-22 10:00:43
可以选择对象的一些潜在示例:
基于对象存储库中对象的名称动态更改对象:(必须存在于存储库中)
Dim objectname
objectname = "SAP Work Manager"
msgbox WpfWindow(objectname).Exist按对象存储库中不存在的对象的属性选择该对象:
WpfWindow("text:=SAPWorkManager").Exist https://stackoverflow.com/questions/35855869
复制相似问题