UFT/QTP - 找不到父对象
UFT/QTP - Can not find Objects parent
我无法访问测试用例中的对象。
该对象是一个选项卡,附加到我的应用程序中的 (Sub)Window。
在测试用例之前和之后,选项卡和附加到选项卡的 window 被对象间谍很好地找到,但是当测试用例运行时,下面的错误出现了。
找不到“[ActiveX]”对象的父对象“[Window]”(class Window)。验证父属性是否与您的应用程序中当前显示的对象相匹配。
我这样访问对象:
VbWindow("ApplicationWindow").Window("SubWindow").ActiveX("Tab")
我是 UFT 的新手,所以我搜索了一段时间并找到了一些解决方案,但它们似乎对我不起作用,因为它们总是与浏览器测试相关,而不是应用程序。
只是想找出问题的根本原因。
1.Try 使用顶级容器(跳过下一级容器)并检查您是否存在父容器。
VbWindow("ApplicationWindow").ActiveX("Tab")
2.Check前后的属性。我的意思是并排验证。可能 属性 不匹配。
3.Use 刷新对象方法。
Window("Calculator").RefreshObject
4.Query Tab 对象中的父项
Set objParent = VbWindow("ApplicationWindow").ActiveX("Tab").GetTOProperty("parent")
Msgbox objParent.GetROProperty("text")
Set objParent = VbWindow("ApplicationWindow").Window("SubWindow").ActiveX("Tab").GetTOProperty("parent")
Msgbox objParent.GetROProperty("text")
警告:后面有很长的解释,您可以跳到最后一段以获得建议的快速取胜。
当 UFT 从上到下识别对象时,您的对象层次结构是:
VbWindow("ApplicationWindow").Window("SubWindow").ActiveX("Tab")
UFT 表示:
Cannot find the "[ActiveX]" object's parent "[Window]" (class Window).
这意味着 id 确实 找到了 VbWindow("ApplicationWindow")
但找不到 Window("SubWindow")
。尝试突出显示 VbWindow
以确保 UFT 正在识别您期望的对象。然后使用 object spy 检查您认为 UFT 应该找到的 window。然后将对象存储库中的属性与您看到的 window 的属性进行比较,找出这些描述有何不同。
作为快捷方式,您可以尝试使用 Maintenance Run Mode,它应该会为您执行这些步骤并建议修复测试的方法。
我无法访问测试用例中的对象。 该对象是一个选项卡,附加到我的应用程序中的 (Sub)Window。 在测试用例之前和之后,选项卡和附加到选项卡的 window 被对象间谍很好地找到,但是当测试用例运行时,下面的错误出现了。
找不到“[ActiveX]”对象的父对象“[Window]”(class Window)。验证父属性是否与您的应用程序中当前显示的对象相匹配。
我这样访问对象:
VbWindow("ApplicationWindow").Window("SubWindow").ActiveX("Tab")
我是 UFT 的新手,所以我搜索了一段时间并找到了一些解决方案,但它们似乎对我不起作用,因为它们总是与浏览器测试相关,而不是应用程序。
只是想找出问题的根本原因。
1.Try 使用顶级容器(跳过下一级容器)并检查您是否存在父容器。
VbWindow("ApplicationWindow").ActiveX("Tab")
2.Check前后的属性。我的意思是并排验证。可能 属性 不匹配。
3.Use 刷新对象方法。
Window("Calculator").RefreshObject
4.Query Tab 对象中的父项
Set objParent = VbWindow("ApplicationWindow").ActiveX("Tab").GetTOProperty("parent")
Msgbox objParent.GetROProperty("text")
Set objParent = VbWindow("ApplicationWindow").Window("SubWindow").ActiveX("Tab").GetTOProperty("parent")
Msgbox objParent.GetROProperty("text")
警告:后面有很长的解释,您可以跳到最后一段以获得建议的快速取胜。
当 UFT 从上到下识别对象时,您的对象层次结构是:
VbWindow("ApplicationWindow").Window("SubWindow").ActiveX("Tab")
UFT 表示:
Cannot find the "[ActiveX]" object's parent "[Window]" (class Window).
这意味着 id 确实 找到了 VbWindow("ApplicationWindow")
但找不到 Window("SubWindow")
。尝试突出显示 VbWindow
以确保 UFT 正在识别您期望的对象。然后使用 object spy 检查您认为 UFT 应该找到的 window。然后将对象存储库中的属性与您看到的 window 的属性进行比较,找出这些描述有何不同。
作为快捷方式,您可以尝试使用 Maintenance Run Mode,它应该会为您执行这些步骤并建议修复测试的方法。