首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对象存储库中找不到HP-UFT对象错误

对象存储库中找不到HP-UFT对象错误
EN

Stack Overflow用户
提问于 2016-03-08 07:00:40
回答 3查看 2.4K关注 0票数 1

执行脚本时出现以下错误:

代码语言:javascript
复制
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". 
EN

回答 3

Stack Overflow用户

发布于 2016-03-08 17:49:30

我理解,它不应该像对象在存储库中不可用那样简单,而是以防万一-尝试使用“在存储库中定位”。

票数 2
EN

Stack Overflow用户

发布于 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中的任何内容相匹配的名称。

票数 2
EN

Stack Overflow用户

发布于 2017-09-22 10:00:43

可以选择对象的一些潜在示例:

基于对象存储库中对象的名称动态更改对象:(必须存在于存储库中)

代码语言:javascript
复制
Dim objectname
objectname = "SAP Work Manager"
msgbox  WpfWindow(objectname).Exist

按对象存储库中不存在的对象的属性选择该对象:

代码语言:javascript
复制
WpfWindow("text:=SAPWorkManager").Exist 

Example page of UFT tips

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35855869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档