加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – Capybara-webkit,rspec集成规范和xvfb:webkit_server:

发布时间:2020-12-17 01:45:35 所属栏目:百科 来源:网络整理
导读:我正在尝试使用无头gem,xvfb和capybara-webkit在ubuntu服务器CI盒上运行一套集成规范,用于无头测试.一切都在本地开发盒上运行得很漂亮,但是一旦移到CI服务器上,事情就会变得很有趣. 在规范助手中有一些代码包装:js在无头块中启用了集成规范,如下所示: conf
我正在尝试使用无头gem,xvfb和capybara-webkit在ubuntu服务器CI盒上运行一套集成规范,用于无头测试.一切都在本地开发盒上运行得很漂亮,但是一旦移到CI服务器上,事情就会变得很有趣.

在规范助手中有一些代码包装:js在无头块中启用了集成规范,如下所示:

config.around(:each,:js => true) do |example|
    Headless.ly &example 
  end

就像我说的,这一切都适用于本地开发盒.在使用无头gem和xvfb作为同一用户进行不同项目测试的CI上,当规范需要实例化浏览器实例时,尝试运行集成规范会导致以下错误:

webkit_server: Fatal IO error: client killed

我一直在试图找出可能导致该错误的原因,但是甚至找不到可能来自哪里的痕迹,或者任何其他信息来帮助调试该问题.

到目前为止,我已经检查/尝试了以下内容:

> CI用户肯定有权运行xvfb
>作为CI用户运行“Xvfb:99 -ac”会发出一条关于未找到字体的警告,没有其他问题

有没有人有任何想法可能导致这种情况,或者我可以寻找更多信息?我很难过.

谢谢!

解决方法

我不确定这是否完全是正确的解决方案,但它似乎对我有用.而不是做:

bundle exec spec

像这样运行Xvfb命令,并删除无头gem的使用:

xvfb-run bundle exec spec

似乎有点不对劲,但它确实有效.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读