我正在尝试运行一个简单的等待示例:搜索谷歌然后验证搜索结果。 (在 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("Everything") 的调用可以使此过程通过:
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 有关。你打电话时Click()
按钮上的页面将不会重新加载,因此调用ContainsText
几乎会立即发生。你需要使用一些Wait...
的方法IE
或元素,如果您正在浏览由 javascript 动态生成的页面(主要是 AJAX)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)