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

标签 java testng

我正在测试一个网站,该网站的页面将在我执行特定操作后 4-5 分钟更新。

这是我的想法:

  1. Thread.sleep()/不断刷新页面等待更新。这意味着我的测试会自动获得额外的 5 分钟时间。
  2. 我有一组测试,它们按 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/

相关文章:

java - 使用 Java 代码更改自定义子菜单背景颜色

java - Testng注释中的空指针异常

java - 我可以将多个testng报告合并为一个吗?

java - 如何访问保存在资源文件夹下的资源文件

eclipse - 在执行 selenium 测试期间 testng.xml 未从 pom.xml 运行

java - Selenium chromeDriver 打开速度比直接在 chrome 浏览器中打开网站慢得多

java - 编译失败: Subprocess failed

java - Spring中是否正确地通过变量在属性中引用另一个bean?

java - 当 "X px"仅被按下一次时使 block /角色移动 "W or w",并且当 "W and w"被按住时不继续行走

Java 在二进制中打印前导 0