2011-09-13 4 views
1

저는 사내 응용 프로그램으로 silktest를 처음으로 사용하고 있습니다. 윈도우 중 하나에서 두 개의 메뉴 목록이있는 버튼이 있습니다.SilkTest 워크 벤치 잘못된 개체 핸들 예외?

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

이러한 옵션은 모두 현재 시나리오와 사용자에 따라 다릅니다.

기록, silktest는 "새"푸시 버튼을 감지하지만 재생할 때, 에러가 발생합니다 : the handle of the object is invalidated.

가능한 솔루션 중 하나는이 같은 개체 뭔가 인스턴스화하는 것입니다

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'

누군가 도와 줄 수 있습니까? 어떤 제안 ??

답변

0

더 이상 유효하지 않은 개체로 작업하려고하면 "유효하지 않은 개체 핸들 예외"가 발생합니다. 예를 들어 닫힌 대화 상자를 생각한 후 나중에 그 작업을 시도하면 더 이상 사용하지 않습니다. 작업. 때때로 시나리오가 그렇게 명확하지는 않지만 기본 원칙은 동일합니다.

또한 PushButton을 생성하지 않고 find 메소드를 사용하여 가져 오면 올바른 객체 핸들이 있는지 확인합니다.

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

답변 해 주셔서 감사합니다. 그러나 .Find 메서드를 사용하면 PushButton을 전혀 감지하지 못합니다! silktest에서 푸시 버튼 객체를 인스턴스화하는 다른 방법이 있습니까? 나는 또한 물건을 기다리지 만 아무런 효과가 없다. 어떤 제안? – Nancy89

+0

이러한 객체를 인스턴스화하는 다른 방법은 없으며 항상 find를 사용합니다. 객체가 발견되지 않으면 일반적으로 locator가 잘못 되었기 때문입니다. 객체에 대한 로케이터를 찾는 가장 쉬운 방법은 객체를 기록하는 것입니다. – tehlexx