如何在TestNG中的测试之间等待X分钟

时间:2013-08-21 21:24:11

标签: java testng

我正在测试一个网页,其网页会在我完成某项操作后4-5分钟更新。

以下是我的想法:

  1. Thread.sleep()/持续刷新页面等待更新。这意味着我的测试会自动再添加5分钟。
  2. 我有一组由DependsOnMethod在冗长列表中排序的测试。我可以依赖于执行操作的测试的第一个测试,并且第二个测试取决于要运行的最后一个测试。这个选项并不是那么糟糕...但是这意味着将方法放在一个完全不相关的类中(以及那些没有逻辑意义的依赖)
  3. 还有其他选择吗?

    注意:我正在将TestNG与WebDriver一起使用

1 个答案:

答案 0 :(得分:1)

最佳解决方案是使用隐式或显式等待,但这取决于页面更新的样子。但如果它是一些带有计数器的元素,你应该尝试类似的东西。

WebElement myDynamicElement = (new WebDriverWait(driver, 5 * 60)) //time in seconds
    .until(ExpectedConditions.textToBePresentInElement(By.id("id"), 
    "Text after update"));