无论如何我可以去除硒测试的片状吗?

时间:2015-11-25 13:48:04

标签: selenium acceptance-testing cucumber-java serenity-bdd

我使用Cucumber-JVM with Serenity(报告库)。步骤实现使用selenium进行浏览器自动化。

我使用像

这样的方法
waitForRenderedElementsToBePresent(By.cssSelector(<css>));
waitFor(ExpectedConditions.visibilityOf(getDriver().findElement(By.cssSelector(<css>))));

但有时我的测试仍然会出现瑕疵。我不想使用显式等待。

有什么方法可以让我的测试更可靠。?

1 个答案:

答案 0 :(得分:2)

我在同样的问题上遇到了很多困难,我不喜欢使用ExpectedConditions也没有使用显式等待。最后我开始使用Awaitility框架。

它基本上允许你编写这样的代码:

await("Element did not show foo.").atMost(60,TimeUnit.SECONDS) .until(() -> driver.findElement(By.id("some-element").getText().contains("foo"));

我发现它与Selenium WebDriver配合得很好,而且我认为它使你的代码更具可读性。