【问题标题】:SilkTest workbench Invalid Object Handle Exception?SilkTest 工作台无效的对象句柄异常?
【发布时间】:2011-09-13 18:09:13
【问题描述】:

我第一次尝试使用内部应用程序进行 Silktest。在其中一个窗口中,我有一个包含两个菜单列表的按钮:

New (pushbutton) ---> Option1 (list menu ) + Option2
if option1 clicked ---> subOption1, subOption2?

所有这些选项都特定于当前场景和用户。

在录制时,silktest 检测到“New”按钮,但在播放时,它会抛出错误:the handle of the object is invalidated.

一种可能的解决方案是像这样实例化 Object:

dim button as New Pushbutton  

但它会引发错误:SilkTest.ntf.Pushbutton.Friend sub New (handle as silk test.ntf.ObjectHandle) is not accessible in this context because it is 'Friend'

有人可以帮忙吗?有什么建议吗??

【问题讨论】:

    标签: .net object handle custom-object silktest


    【解决方案1】:

    当您尝试使用不再有效的对象时会引发“无效对象句柄异常”,例如考虑关闭的对话框,然后您尝试对其进行操作,它将不再有效.有时场景并不那么明显,但基本原理是一样的。

    另外,不要构造 PushButtons,使用 find 方法获取它们,这将确保它们包含有效的对象句柄。

    Dim myButton As PushButton = myDialog.Find("//PushButton[@caption='New']")
    myButton.Select()
    

    【讨论】:

    • 感谢 tehlexx 的回答。但是,当我使用 .Find 方法时,它根本没有检测到 PushButton !在 Silktest 中实例化按钮对象有不同的方法吗?我也尝试过等待对象,但没有任何区别。有什么建议吗?
    • 没有其他方法可以实例化这些对象,您总是使用 find。如果找不到对象,通常是因为定位器错误。找出对象定位器的最简单方法是记录它。
    【解决方案2】:

    尽量确保焦点在您要按下的按钮上。如果使用 Silk4j,请先尝试在该元素甚至其父元素上设置焦点()。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-01
      相关资源
      最近更新 更多