我正在尝试以无头模式在多种情况下运行我们的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是否是更好,更清洁的选择?