【问题标题】:Upgrading Capybara to latest version makes Gitlab CI fail将 Capybara 升级到最新版本导致 Gitlab CI 失败
【发布时间】:2019-09-21 04:38:27
【问题描述】:

我正在将我的 Capybara 升级到最新版本(从 2.18.0 开始)这会导致运行我的测试时出现很多 normalized_whitespace 弃用运行。我读到拉 gem 的 master 分支解决了这个问题,它确实有效,但现在我在 Gitlab 上的 CI 失败了:

Errno::ENOENT: No such file or directory - /builds/products/micheticket/vendor/ruby/2.5.0/bundler/gems/capybara-webkit-77fdac424cd6/bin/webkit_server

有没有人知道如何解决这个问题?

【问题讨论】:

    标签: ruby-on-rails gitlab gitlab-ci capybara-webkit


    【解决方案1】:

    注意Capybaracapybara-webkit 是两个不同的东西,Capybara 是测试框架,capybara-webkit 是您可以配置为与Capybara 一起使用的驱动程序。由于capybara-webkit 包含一个C 部分,它需要在安装它的平台上编译,这意味着它的所有依赖项(QtWebkit 的特定版本等)都可以在平台上使用。由于 QtWebKit 很久以前就停止了开发,因此默认情况下提供这些功能已变得很少见。 capybara-webkit 开发也已停止,该项目可能很快就会存档。如果您切换到使用 selenium 驱动程序(无头 Chrome 或 Firefox)或通过 CDP 驱动程序(如 Apparition 目前处于测试阶段但旨在提供capybara-webkit 在 selenium 上的额外功能。

    【讨论】:

    • 我说是从 2.18.0 开始更新的。
    • 从我在他们的 Github 上看到的 capybara-webkit 似乎有一个 2.0.0 版本的计划。我确实尝试切换到 Selenium 和 webdrivers gem,但遇到了其他问题。
    • @8vius 看看关于 2.0.0 的讨论的日期——它停滞不前,不会发生。 QtWebkit 开发的结束基本上结束了 capybara-webkit 项目(就像它对 Poltergeist/PhantomJS 所做的那样) - 我是 capybara-webkit 项目的提交者,几周前在电子邮件中谈到它很快就会被归档。跨度>
    • 是的,你是对的。我遇到的 selenium 和 webdrivers gem 的问题是该项目允许一些真正的连接,我不确定如何像 Capybara-webkit 那样设置它们
    • @8vius 这就是我链接到幻影驱动程序的原因。这支持像 capybara-webkit 那样将 url 列入黑名单。
    【解决方案2】:

    我使用 gem 来管理和安装驱动程序。 Webkit 已弃用。我会使用 chrome 驱动程序。

    gem 'chromedriver-helper'

    【讨论】:

    • chromedriver-helper 也已弃用。你很快就会想换成webdrivers 来管理你的chromedriver 安装。
    猜你喜欢
    • 2012-04-21
    • 2022-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-17
    • 2021-08-08
    • 1970-01-01
    相关资源
    最近更新 更多