我正在尝试使用无头 gem、xvfb 和 capybara-webkit 在 ubuntu 服务器 CI 盒上运行一套集成规范,以进行无头测试。一切都在本地开发盒上运行良好,但一旦转移到 CI 服务器,事情就会变得有趣。
在规范助手中有一些代码包装:js 在无头块中启用了集成规范,如下所示:
config.around(:each, :js => true) do |example|
Headless.ly &example
end
就像我说的,这一切都在本地开发盒上运行良好。在 CI 上,它使用 headless gem 和 xvfb 作为同一用户对不同项目进行测试,当规范需要实例化浏览器实例时,尝试运行集成规范会导致以下错误:
webkit_server:致命的 IO 错误:客户端被杀死
我一直试图找出可能导致该错误的原因,但甚至找不到可能来自何处的痕迹,或任何其他有助于调试问题的信息。
到目前为止,我已经检查/尝试了以下内容:
- CI 用户绝对有权限运行 xvfb
- 以 CI 用户身份运行“Xvfb :99 -ac”会给出一个关于未找到字体的警告,没有其他问题
有没有人知道可能导致这种情况的原因,或者我可以在哪里寻找更多信息?我对此感到很困惑。
谢谢!