.net SilkTest workbench对象句柄异常无效?

.net SilkTest workbench对象句柄异常无效?,.net,object,handle,custom-object,silktest,.net,Object,Handle,Custom Object,Silktest,我第一次用内部应用程序尝试silktest。在其中一个窗口中,我有一个按钮,它有两个菜单列表: New (pushbutton) ---> Option1 (list menu ) + Option2 if option1 clicked ---> subOption1, subOption2? 所有这些选项都特定于当前场景和用户 录制时,silktest会检测到“新建”按钮,但播放时会抛出错误:对象的句柄无效。 可能的解决方案之一是实例化对象,如下所示: dim button a

我第一次用内部应用程序尝试silktest。在其中一个窗口中,我有一个按钮,它有两个菜单列表:

New (pushbutton) ---> Option1 (list menu ) + Option2
if option1 clicked ---> subOption1, subOption2?
所有这些选项都特定于当前场景和用户

录制时,silktest会检测到“新建”按钮,但播放时会抛出错误:
对象的句柄无效。

可能的解决方案之一是实例化对象,如下所示:

dim button as New Pushbutton  
但它抛出一个错误:
SilkTest.ntf.butdown.Friend sub New(句柄为silk test.ntf.ObjectHandle)在此上下文中不可访问,因为它是“Friend”

有人能帮忙吗?有任何建议吗?

< P> >“无效对象句柄异常”是在尝试使用不再有效的对象时抛出的,例如,关闭一个对话框,然后尝试使用它,它将不再工作。有时情况并非如此明显,但基本原则是相同的

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

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

尽量确保焦点集中在你想按下的按钮上。如果使用silk4j,请尝试首先在此元素甚至其父元素上设置focus()

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