Che*_*sea 3 ruby rspec headless capybara xvfb
我正在尝试使用无头gem,xvfb和capybara-webkit在ubuntu服务器CI盒上运行一套集成规范,用于无头测试.一切都在本地开发盒上运行得很漂亮,但是一旦转移到CI服务器,事情就会变得很有趣.
在规范助手中有一些代码包装:js在无头块中启用了集成规范,如下所示:
config.around(:each, :js => true) do |example|
Headless.ly &example
end
Run Code Online (Sandbox Code Playgroud)
就像我说的,这一切都适用于本地开发盒.在使用无头gem和xvfb作为同一用户进行不同项目测试的CI上,当规范需要实例化浏览器实例时,尝试运行集成规范会导致以下错误:
webkit_server:致命IO错误:客户端被杀死
我一直在试图找出可能导致该错误的原因,但是甚至找不到可能来自哪里的痕迹,或者任何其他信息来帮助调试该问题.
到目前为止,我已经检查/尝试了以下内容:
有没有人有任何想法可能导致这种情况,或者我可以寻找更多信息?我很难过.
谢谢!
我不确定这是否完全是正确的解决方案,但它似乎对我有用.而不是做:
bundle exec spec
Run Code Online (Sandbox Code Playgroud)
像这样运行Xvfb命令,并删除无头gem的使用:
xvfb-run bundle exec spec
Run Code Online (Sandbox Code Playgroud)
似乎有点不对劲,但它确实有效.