我有一段代码,该代码有5秒钟的延迟,之后有getUrl。如果我不延迟执行,由于站点尚未加载,getUrl返回false。
WebUI.delay(5)
assert WebUI.getUrl().contains('atlassian')
在网站上,有一个div,单击该div会转到另一个窗口。此代码检查打开的页面是否为Atlassian网页。但是,我不想使用5秒钟的延迟(可能需要更长或更短的时间)。有没有办法设置超时时间,例如等待1分钟直到页面加载,否则加载超时->执行失败?
答案 0 :(得分:1)
尝试等待页面加载
WebUI.waitForPageLoad(5, FailureHandling.STOP)
assert WebUI.getUrl().contains('atlassian')
这将等待5秒钟以供页面加载,并且如果此时未加载该页面,则由于测试失败而停止执行。
或者,您可以使用WebUI.waitForElementPresent(to, timeout)
,其中to
是您确定页面加载时存在的测试对象。</ p>