我使用 Geb 为我的 Grails 应用程序编写了一些功能测试。我已将测试配置为与 this example project 相同,这使您可以 specify a list of browsers可以运行测试。
当我在 Firefox 上本地运行测试时,测试通过了。但是,如果我在 Jenkins 上运行它们,它们就会失败,因为 Firefox 无法在 headless 模式下运行。这个问题的一个常见解决方案似乎是使用 XVFB 来模拟显示器,以便 Firefox 可以在 headless 机器上运行。我已在 Jenkins 计算机上成功安装了 XVFB,但不确定需要哪些额外配置才能使 XVFB 与运行功能测试的 Jenkins 作业配合使用?
有一个XVFB Jenkins plugin可用,我应该使用这个还是还有其他人们已经成功的方法?
最佳答案
我真的不记得为什么我们没有使用 Xvfb Jenkins 插件,但这就是我们的设置方式:
- 让 Xvfb 作为服务在您的从站上运行,提供特定的显示,例如 99。
- 设置一个环境变量,让用于测试的浏览器知道要附加到哪个显示器,即
DISPLAY=:99
作为测试之前执行的作业的配置步骤,我们使用 EnvInject Plugin那个
关于grails - 在 Jenkins 上运行 Geb 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23872238/