我正在测试一个网站,该网站的页面将在我执行特定操作后 4-5 分钟更新。
这是我的想法:
- Thread.sleep()/不断刷新页面等待更新。这意味着我的测试会自动获得额外的 5 分钟时间。
- 我有一组测试,它们按
DependsOnMethod
在一个冗长的列表中排序。我可以将第一个测试依赖于执行操作的测试,并让第二个测试依赖于最后一个运行的测试。这个选项并没有那么糟糕......但它意味着将方法放在完全不相关的类中(以及没有逻辑意义的依赖项)
还有其他选择吗?
注意:我将 TestNG 与 WebDriver 一起使用
最佳答案
最好的解决方案是使用隐式或显式等待,但这取决于页面更新的样子。但如果它是一些带有计数器的元素,你应该尝试类似的东西。
WebElement myDynamicElement = (new WebDriverWait(driver, 5 * 60)) //time in seconds
.until(ExpectedConditions.textToBePresentInElement(By.id("id"),
"Text after update"));
关于java - 如何在 TestNG 中的测试之间等待 X 分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18367960/