在无头模式下运行时出现奇怪的Weblocator问题

时间:2019-03-19 18:42:54

标签: serenity-bdd serenity-js

我正在尝试以无头模式在多种情况下运行我们的Serenity功能测试(在RedHat Jenkins服务器中运行它之前,因为RedHat框中没有GUI)。 在Chrome或Firefox(壁虎驱动程序)下,在普通GUI模式下的4种场景中,这都是100%成功。我通常像这样从CLI运行测试。

mvn clean verify -DuserId='xxxx' -Dpasscode='xxxx'

根据Serenity作者(John先生)的建议和各种文档,我在serenity.properties文件中创建了这些条目,以无头模式运行。

## Chrome Browser Headless Testing

webdriver.driver=chrome

headless.mode = true



## Firefox Browser Headless Testing

#webdriver.driver=firefox

#gecko.firefox.options = {"args": ["-headless"]}

很遗憾,找不到单个Web定位器。给出此错误消息。

[错误]错误: [ERROR]预期条件失败:等待ExtractExecutionHistoryPage.back2SearchAnchor出现(尝试10秒,间隔100毫秒)

back2SearchAnchor是html链接,位于xpath

  @FindBy(xpath = "//a[contains(text(),'Back to Search')]")

    private WebElementFacade back2SearchAnchor;

宁静作者(约翰先生)提到,无头模式有时可能会带来一些以前没有的问题。

在常规GUI模式测试期间,找到并单击此链接没有问题。即使是10秒您会在错误消息中看到,明确的等待期也无法正常工作。

在无头模式下,两个浏览器都存在相同的问题。

我不知道是什么问题。有没有人遇到过这类问题?知道如何克服这个问题吗?

现在XVFB是否是更好,更清洁的选择?

0 个答案:

没有答案