2008-09-08 2 views
6

WatiN을 사용하여 UI를 테스트하고 있지만 한 페이지 (불행히도 우리 팀 제어하에 있지 않음)가 영원히로드를 완료하는 데 걸립니다. 페이지가 완전히 렌더링되기 전에 WatiN이 페이지의 링크를 클릭하도록하는 방법이 있습니까?페이지가로드되기 전에 WatiN이 링크를 클릭하게하는 방법이 있습니까?

IE browser = new IE(....); 
browser.Button("SlowPageLoadingButton").ClickNoWait(); 
Link continueLink = browser.Link(Find.ByText("linktext")); 
continueLink.WaitUntilExists(); 
continueLink.Click(); 
+0

Watin가 WaitForLoadTimeout 속성에 의해 제어되는 대기 시간. 여기에 대해 조금 이야기하는 블로그 게시물이 있습니다 : http://blog.agilejedi.com/2008/08/watin-installed.html

+0

불행히도 WatiN이 충분히 오래 기다리는 것은 아닙니다. 아무것도하기 전에 페이지가로드 될 때까지 기다리는 것입니다. 우리는 해결책을 찾았고, ClickNoWait()을 사용하여 페이지를로드했다. 그런 다음 페이지의 링크를 정상적으로 찾았지만, 링크에서'WaitUntilExists()'를 호출 한 후에'Click()'을 호출했다. 이렇게하면 WatiN은로드되는 즉시 링크를 클릭하고 전체 페이지가로드 될 때까지 기다리지 않습니다. –

답변

11

여기에 우리가 일을 볼 수있는 코드는 link.Click() rexample에서).

HTH, 제론 반 Menen 리드 DEV WatiN

+1

+1 귀하의 질문에 자신을 대답;) 그리고 좋은 대답! –

0

당신은 당신이 요소에 메서드 나 속성을 호출 할 때 WatiN는 내부적으로이 작업을 수행하기 때문에 WaitUntilExists()에 대한 호출을 생략 할 수 있어야합니다 (같은 :

+1

하지만 저는 Click이라고 부르지 않고 있습니다. ClickNoWait()는 WaitUntilExists()를 호출하지 않으면 기다리지 않는다고하지 않습니까? –

관련 문제