예를 들어, 둘 이상의 브라우저 인스턴스가 활성화된 HTML 애플리케이션에서 다음 예에서와 같이 레코드된 경우 도구 모음 조치의 한 브라우저와 다른 브라우저를 구분하는 것은 불가능합니다.
BrowserToolbar_Back().click() BrowserToolbar_Forward().click()
이와 같은 경우 Functional Tester는 현재 로드된 문서(대상 오브젝트의 앵커로 지칭됨)에 의해 식별되는 브라우저에서 도구 모음 단추를 찾음으로써 모호한 인식을 피합니다. 예를 들어, 다음과 같습니다.
BrowserToolbar_Back(Browser_htmlBrowser(Document_MyHomePage(), DEFAULT), DEFAULT).click();
도구 모음 뒤로 단추는 브라우저에 의해 고정되며 해당 브라우저는 "My HomePage" 문서에 의해 고정됩니다. 각 브라우저 인스턴스가 동일한 로드된 문서를 가진 경우 이 예는 작동하지 않습니다. 앵커를 인수로 취하는 헬퍼 스크립트 메소드는 컴포넌트 상태를 지정하는 다른 인수(위 예에서는 DEFAULT 인수)를 필요로 합니다. HTML 오브젝트의 기본 상태는 LOADED입니다. HTML 컴포넌트의 경우 LOADING 및 UNINITIATED도 가능합니다. Java™ 오브젝트의 기본 상태는 SHOWING 및 ENABLED입니다. Java 오브젝트에 지원되는 기타 상태 플래그에는 NOT_SHOWING 및 DISABLED가 있습니다.
또한 다음과 같이 브라우저에서 찾기 메소드를 호출하고 브라우저 인스턴스에 대한 TestObject 참조를 사용하여 브라우저 인스턴스를 식별할 수 있습니다(완료되면 TestObject를 등록 해제 해야 함).
TestObject browserOne = Browser_htmlBrowser(Document_MyHomePage(), DEFAULT).find();
테스트 스크립트에서 브라우저 도구 모음 명령은 다음 예제와 유사합니다.
BrowserToolbar_Back(myBrowser, DEFAULT).click();
모호한 인식이 문제가 될 수 있는 또 다른 상황은 두 개 이상의 애플리케이션이 테스트에서 동시에 실행 중인 경우입니다. 재생 중에 b5().click()과 같은 명령은 모호합니다. startApp 명령은 ProcessTestObject를 리턴하기 때문에 이 참조를 사용하여 특정 명령이 적용되는 애플리케이션을 지정할 수 있습니다. 예를 들어, 다음과 같습니다.
ProcessTestObject p1 = startApp("SwingTest"); ProcessTestObject p2 = startApp("TryIt"); ... //b5().click(); ambiguous on playback; which application? b5(p1, DEFAULT).click();
예의 마지막 행에서 ProcessTestObject 기능은 앵커로서 원하는 애플리케이션의 위치를 찾습니다. ProcessTestObject에 대해 등록 해제 메소드를 호출하는 것은 불필요합니다.