如何使用 WebUI.getUrl().contains('atlassian') 和超时值

How to use WebUI.getUrl().contains('atlassian') with timeout value

我有一段代码有 5 秒的延迟,之后是 getUrl。如果我不延迟执行,getUrl returns false 因为网站还没有加载。

WebUI.delay(5)
assert WebUI.getUrl().contains('atlassian')

在网站中,有一个 div,点击后会转到另一个 window。此代码检查打开的页面是否为 Atlassian 网页。但是,我不想使用延迟 5 秒(它可能需要更长或更短的时间)。有没有办法设置超时,例如等待 1 分钟直到页面加载,如果未加载 -> 执行失败?

尝试等待页面加载

WebUI.waitForPageLoad(5, FailureHandling.STOP)
assert WebUI.getUrl().contains('atlassian')

这将等待页面加载 5 秒,如果在该时间内未加载页面,则停止执行并测试失败。

或者,您可以使用 WebUI.waitForElementPresent(to, timeout),其中 to 是您确定在加载页面时存在的测试对象。