2008-09-08 1 views
6

Мы используем WatiN для тестирования нашего пользовательского интерфейса, но одна страница (которая, к сожалению, не находится под контролем наших команд) берет навсегда завершение загрузки. Есть ли способ заставить WatiN щелкнуть ссылку на странице до того, как страница полностью закончит рендеринг?Есть ли способ сделать WatiN щелкнуть ссылку до завершения загрузки страницы?

+0

Время ожидания Watin управляется свойством WaitForLoadTimeout. Вот сообщение в блоге, в котором немного говорится об этом: http://blog.agilejedi.com/2008/08/watin-installed.html 2008-09-08 02:11:54

+0

К сожалению, это не то, что WatiN не ждет достаточно долго, это значит, что он ждет, пока страница загрузится, прежде чем она что-нибудь сделает. Мы нашли решение, загрузили страницу с помощью `ClickNoWait()` Затем найдите ссылку на странице как обычно, но вызовите `WaitUntilExists()` в ссылке перед вызовом `Click()`. Таким образом WatiN будет щелкать по ссылке, как только она будет загружена, а не ждать, пока загрузится вся страница. – 2008-09-08 02:46:36

ответ

11

Вот код, который мы нашли, чтобы работать:

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

+1 для ответа на свой вопрос;) И хороший ответ! – 2010-03-30 07:50:38

0

Вы должны быть в состоянии выйти из призыв к WaitUntilExists(), так как WatiN делает это внутренне при вызове метода или свойства на элементе (как link.Click() в Rexample).

НТН, Йерун ван Менен Ведущий DEV WatiN

Смежные вопросы