在基于Geb的测试中,我使用非常简单的检查:
at ReportsPage
页面对象包含:
static at = {
$("#navContent .current").text() == "Reports"
}
此检查在一台PC上正常工作,但在'geb.navigator.EmptyNavigator不存在'的情况下失败。两者都在测试相同的外部网站,因此接收相同的HTML代码。还使用相同版本的Geb,Webdriver和Firefox浏览器。因为我使用 GebReportingSpec 它会在失败时存储页面。我在文本编辑器中检查了它,可以看到所需的元素:
<div id="navContent">
<ul>
<li class="current">
<a href="reports" title="Reports">Reports</a>
</li>
...
</ul>
</div>
答案 0 :(得分:1)
Firefox驱动程序有一个特点,它有时不会在从WebDriver.get(String)
调用返回之前等待页面加载。这就是Geb引入atCheckWaiting
config option的原因。我建议将它设置为较低的值(我通常使用1秒),你的问题应该消失。