开发者

WatiN can't find text after searching google

I'm trying to run a simple watiN exampl开发者_Go百科e: search google then verify the search result. (on 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"));

This test fails! I don't know why, but adding a call to WaitUntilContainsText("Everything") make this pass:

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"));

I guess this maybe because of the behavior of google instant but can't be sure. Can someone explain what's wrong with this test?


Yes, it has to do with Google Instant. When you call Click() on button the page will not be reloaded, so the call to ContainsText will occur almost without delay. You need to use some Wait... methods of the IE or elements if you are browsing pages generated by javascript on the fly (AJAX mostly).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜