WatiN не может найти текст после поиска в Google - PullRequest
2 голосов
/ 28 апреля 2011

Я пытаюсь запустить простой пример: поиск в Google, а затем проверка результатов поиска.(на IE9)

var browser = new IE("http://www.google.com/ncr");

browser.TextField(Find.ByName("q")).TypeText("WatiN");
browser.Button(Find.ByName("btnG")).Click();

Assert.True(browser.ContainsText("WatiN"));

Этот тест не пройден!Я не знаю почему, но добавление вызова WaitUntilContainsText («Все») делает этот проход:

var browser = new IE("http://www.google.com/ncr");

browser.TextField(Find.ByName("q")).TypeText("WatiN");
browser.WaitUntilContainsText("Everything");// because of google instant??
browser.Button(Find.ByName("btnG")).Click();

Assert.True(browser.ContainsText("WatiN"));

Я думаю, что это может быть из-за поведения Google Instant, но не уверен.Может кто-нибудь объяснить, что не так с этим тестом?

1 Ответ

2 голосов
/ 28 апреля 2011

Да, это связано с Google Instant. При вызове Click() на кнопке страница не будет перезагружена, поэтому вызов на ContainsText будет происходить практически без задержки. Вам необходимо использовать некоторые Wait... методы IE или элементов, если вы просматриваете страницы, сгенерированные javascript на лету (в основном AJAX).

...