0

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

这是我的想法:

  1. Thread.sleep()/不断刷新页面等待更新。这意味着我的测试会自动增加 5 分钟。
  2. 我有一组测试,它们DependsOnMethod在一个冗长的列表中排序。我可以将第一个测试依赖于执行操作的测试,而让第二个测试依赖于最后一个要运行的测试。这个选项并没有那么糟糕......但这意味着将方法放在一个完全不相关的类中(以及没有逻辑意义的依赖项)

还有其他选择吗?

注意:我正在使用带有 WebDriver 的 TestNG

4

1 回答 1

1

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

WebElement myDynamicElement = (new WebDriverWait(driver, 5 * 60)) //time in seconds
    .until(ExpectedConditions.textToBePresentInElement(By.id("id"), 
    "Text after update"));
于 2013-08-21T21:39:15.437 回答