在 dockerized Rails 5 应用程序上启动 Capybara-Webkit

2023-12-25

我正在开发一个全新的 Rails 5 应用程序,但无法启动 Capybara-Webkit。我正在跟进这些迹象 https://github.com/thoughtbot/capybara-webkit#ci.

我的开发过程包括 Docker-Compose,然后是 CircleCI,用于构建 Docker 映像并将其发送到 Google Cloud Registry。

The $ bundle install很好,$ docker build完成了,但我什至无法使用 Webkit 在本地启动规范。

当我启动此命令时,它会挂起并冻结:

$ docker-compose run web xvfb-run -a bundle exec rspec

我找不到有关 xvfb-run 命令的任何信息,我假设它是打包在 xvfb 中的启动器...

这是我的 Dockerfile:

FROM ruby:2.4.1

RUN apt-get update -qq && apt-get install -y \
  build-essential \
  libpq-dev \
  nodejs \
  xvfb \
  qt5-default \
  libqt5webkit5-dev \
  gstreamer1.0-plugins-base \
  gstreamer1.0-tools \
  gstreamer1.0-x

RUN mkdir /app_dir
WORKDIR /app_dir

ADD Gemfile* /app_dir/

RUN bundle install

COPY . .

编辑 07/08/2017

我认为我被我的开发环境误导了。当我尝试使用guard而不是直接使用rspec启动我的规范时,我收到另一个错误:

Capybara::Webkit::ConnectionError:
  /usr/local/bundle/gems/capybara-webkit-1.14.0/bin/webkit_server failed to start.

这对我没有多大帮助。这Github问题 https://github.com/thoughtbot/capybara-webkit/issues/678让我相信我需要用 xvfb 做点什么。

我尝试启动webkit_server直接从gem bin文件夹中,我收到以下错误:

QXcbConnection: Could not connect to display
Aborted

编辑 #2 2017 年 7 月 8 日

我找到了启动测试套件的方法。如果我首先在 docker compose 系统中启动 bash 终端,那么我就可以毫无问题地使用 xvfb。

$ docker-compose run web bash

then

$ xvfb-run -a bundle exec rspec spec

一切都按预期进行。最初的问题仍然存在:当我启动此命令时:

$ docker-compose run web xvfb-run -a bundle exec rspec

它保持搁置并且永远不会发布任何规范。我正在研究 docker-compose 配置,我一定错过了一些东西。

奇怪的东西:当我通过守卫启动我的规格时,它正在工作......我不知道为什么。

编辑 #3 2017 年 8 月 8 日

我最终写了一个Capybara-Webkit 存储库中的问题。 https://github.com/thoughtbot/capybara-webkit/issues/1019


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 dockerized Rails 5 应用程序上启动 Capybara-Webkit 的相关文章

  • 为 Ruby On Rails 环境创建 Docker 映像时出错(从 Dockerfile)

    估计是环境问题 当我手动执行此操作 没有 Dockerfile 时 它可以工作 这是我的 Dockerfile FROM ubuntu 14 04 RUN apt get update RUN apt get upgrade assume
  • Rails/heroku 从 gem 迁移到 toolbelt

    我曾经在一个项目中使用过 heroku gem 既然工具带已经出来了 我想换一个 我从 Gemfile 中删除了 gem 并通过 gem uninstall heroku 卸载了它 我使用heroku网站上的pkg安装了heroku工具带
  • kubectl:在 WSL 终端中找不到

    我按照以下说明在 Windows10 上安装了 WSL2 https learn microsoft com en us windows wsl install win10 https learn microsoft com en us w
  • 带有 mysql 数据的 WordPress 图像

    是否有包含 wordpress 和 mysql 数据的可用图像 当我提交并备份映像时 不包括 mysql 数据 我更喜欢两者都用一张图片 我尝试使用这个 Dockerfile 创建这样的图像 FROM tutum lamp latest R
  • 对 Rails 3.1 中的特定路由强制使用 SSL

    我需要强制启用 SSL所有路线在我的申请中除了landing index In config application rb 我有 config force ssl true Then in landing controller rb 我有
  • docker中的GitLab CI docker无法创建卷

    我在 docker 中使用 docker 来托管我的容器 因为它们通过管道工作 我根据代码创建的容器设置为具有一个卷 用于将 gcloud 密钥传递到容器 这在我的本地计算机上完美运行 但在 gitlab runner 上它无法正确链接 从
  • 如何在 Ruby 中使用 Safari 技术预览设置 Capybara

    我无法使用 Capybara 和 Selenium 与 Safari 技术预览版 STP 建立会话 Capybara 甚至不会打开浏览器窗口 我已升级到 Ruby 2 3 0 Capybara 2 14 2 Selenium 3 4 0我从
  • Rails escape_javascript 通过转义单引号创建无效的 JSON

    ActionView中的escape javascript方法转义撇号 作为反斜杠撇号 解析为 JSON 时会出错 例如 消息 我在这里 在打印时是有效的 JSON message I m here But 输出 I m here 导致无效
  • Rails 应用程序在模型间保存方面遇到问题

    我正在开发一个从网站下载元标签并然后保存的应用程序 下载发生在一个名为Site 我想将下载的机器人元标签保存到一个名为的模型中robots tag它通过一个名为的连接表连接到站点meta tag sites 但是我在站点模型中编写的用于执行
  • 如何从 Dockerfile 安装 Python 3.7 和 Pip

    我正在尝试构建基于 Ubuntu 18 04 的自定义 Docker 映像 Ubuntu 预装了 Python 3 6 但我想 1 安装 Python 3 7 2 将其设置为默认 Python 版本 这样就可以使用python代替pytho
  • 如何让 Docker 容器在系统启动时自动启动?

    假设我有一个要运行的 Docker 容器 那么我可以调用 docker run 一切都很好 是否有一种内置方法可以在系统崩溃并重新启动时自动重新启动容器来运行容器 如果是这样 这在 Docker Compose 中也可用吗 是的 docke
  • 如何在 Rails 3 项目中包含 SSL 证书

    我开发了一个 Rails 3 项目 它使用thin作为服务器 与 Devise 和 Doorkeeper 一起进行身份验证 我想在我的项目中添加 SSL 证书 我看过一些描述如何在 Rails 3 项目中使用 SSL 证书的帖子 但没有一个
  • 将带撇号的字符串传递给辅助方法无法正确显示

    我正在使用 Rails 教程中的辅助方法 它将两个字符串连接在一起 以便在视图中的标题选择器中使用 它工作得很好 除非字符串中有撇号 当 group name 包含撇号时 结果如下 这是方法 app helpers application
  • MongoMapper 和 bson_ext 问题

    我无法让 MongoMapper 与我的 Rails 应用程序一起使用 我收到此错误消息 注意 C 扩展未加载 这是最佳 MongoDB Ruby 驱动程序性能所必需的 您可以按如下方式安装扩展 宝石安装 bson ext 如果安装后继续收
  • 使用简单的表单轨道删除日期选择中的日期时间和时间分隔符

    如何删除由名为 simple form 的 gem 创建的日期选择中的日期时间分隔符和时间分隔符 我想我必须重写initializesimple form 用于创建日期选择或在表单输入中传递哈希选项的方法 但这不起作用 我尝试这样的事情 f
  • 如何更改 docker 中的默认分离键顺序?

    Docker 容器的 detach 键序列默认为 control q 或 control p 使用启动容器时可以选择设置按键顺序 detach keys
  • 使用入口点脚本初始化 influxdb2 存储桶

    我正在部署用于存储实时数据的 influxdb 我已经使用 1 8 4 一段时间了 最 近决定更新到 v2 My docker compose yml文件看起来像这样 influxdb image influxdb 2 0 4 alpine
  • 将 docker-compose.yml 中的包安装到 docker 容器中

    我是 docker 和 docker compose 的初学者 我需要你的帮助 我正在使用 docker compose 制作 PHP NGINX PostgresQL symfony 开发环境 这里是 web image nginx 1
  • “捆绑安装”是否会在我的计算机上永久安装所有必需的 gem?

    我是 Rails 新手 正在学习捆绑器 我明白那个bundle install安装 gemfile 中指定的所有 gem 但将它们安装到哪里 是否将它们永久安装在我的计算机上 以便将来的任何项目都可以使用它们 如果是这样 这是否意味着我的计
  • 将 URL 转换为 JSON 版本?

    在我的应用程序的所有页面上 我想要一个指向当前页面的 JSON 版本的链接 有什么巧妙的技巧可以做到这一点吗 当 URL 中包含额外的 参数时 情况就变得复杂了 所以 url 将被转置为 users gt users json users

随机推荐

  • 将 Monolog WebProcessor 与 Laravel 5.6 结合使用

    我发现新的日志堆栈 通道提供了一种方法tap或定义handlers 但是 我正在努力获得WebProcessor已加载 但似乎不起作用 这个应该被挖掘吗 或者有其他方法来加载它吗 这是 Laravel 5 6 特有的 这是我在使用 Lara
  • 如何使用 JAXB 从 Java 中的 XSD 获取 minOccurs / maxOccurs 值?

    我的应用程序正在调用 Web 服务 并且我已使用 maven jaxb2 plugin 从 WSDL XSD 生成了 Java 类 Web 服务调用在一段时间内工作得很好 但最近我在将对象编组到 XML 时遇到了问题 org xml sax
  • amqp 或 xmpp 用于实时在线游戏[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 以下哪些技术套件适用于多用户在线游戏项目 项目要求 能够在任何给定时间处理 2k 5k 用户 适用于
  • CleanWPPAllFilesInSingleFolder 错误使我的项目不再加载

    我使用 VS2012 创建了一个动态数据项目 一切顺利 然后我开始配置 Web 部署设置 我不确定我到底更改了什么设置 因为没有错误 但是 当我尝试加载解决方案时 我收到该项目的以下错误 并且它将不再加载 Specified conditi
  • 为什么我会收到此 LineUnavailableException?

    我在代码的第 34 行不断收到 LineUnavailableException https www refheap com 21223 https www refheap com 21223 错误读取为javax sound sample
  • 使用 ConstraintLayout 的展开链元素组

    我在使用约束布局传播 2 组元素时遇到问题 我知道这个新布局的目标是使用平面层次结构 因此我想避免将我的元素放入子布局中 我查看了一些很棒的资源 例如constraintlayout com 但无法弄清楚如何使其适用于我的特定案例 我认为这
  • 协会类别的独特性

    我很难理解 UML 2 5 规范中解释的关联类的概念 最让我困惑的是下面这句话 摘自199页 笔记 即使当 AssociationClass 的所有末端都具有 isUnique true 时 也可能有多个实例关联末端类的同一组实例 正如这里
  • 如何能够显示没有文本的表 TD

    我的问题 如何让表格的 TD 不带有文本 而不使其消失 我使用这个 HTML 代码 div div div table cellpadding 0 cellspacing 0 border 0 tr td td td td td td tr
  • 如何在 Windows 上集成 PHP 和 R?

    集成 PHP 和 R 时遇到一些问题 我正在研究这篇文章 http www r bloggers com integrating php and r http www r bloggers com integrating php and r
  • CSS 类align-self-end 不起作用

    div class col md 3 div class card bg dark text white img class card img src http via placeholder com 300x340 alt Card im
  • Laravel proc_open():分叉失败

    我在 laravel 后出现此错误composer update 未捕获的ErrorException proc open fork失败 资源在vendor symfony console Terminal php中暂时不可用 127 pr
  • Zend 捕获布局并将内容视为变量

    我有一个控制器 My Controller 带有简单的示例操作 public function exempleAction Using layout mail this gt helper gt layout gt setLayout ma
  • 非规范化:多少才算太多?

    我已经为我正在 按书本 构建的网络应用程序设计了数据库 也就是说 我已经 创建了包含应用程序的实体 属性和关系的 E R 图 将 E R 图转换为模式 将架构转换为 无架构 形式以对数据库进行建模 该数据库是 Cassandra NoSQL
  • 使用 POST 参数压缩 HTTP 文本

    我正在编写客户端软件 该软件使用大量文本 实际上是 JSON 对象 作为 POST 参数来启动 HTTP 请求 我想在发送之前压缩此文本并在服务器上解压缩该文本 Gzip 生成二进制文件 我认为我无法将其作为 POST 参数发送 存在哪些选
  • 尝试安装 JDK8 U11 OSX 10.10 Yosemite 时出错

    今天是 Oracle JDK8 U11 的发布 当我尝试在 OSX yosemite 10 10 中安装 pkg 时 出现此错误并且无法继续 OSX版本存储在 System Library CoreServices SystemVersio
  • 数据上下文注册为瞬态,但内存使用量不断增长。我的 DI 配置有问题吗?

    我在用着EF Core和 一起Postgres 可能并不重要 在一个 NET Core 3 1 控制台应用程序 该程序使用一个共享项目 以及解决方案的其他组件 所有业务逻辑均使用简单的 CQRS 类型模式和 Mediator 来实现 在一处
  • 将哈希值从 php script() 移植到 python

    我想知道是否有与 PHP 同源的 pythoncrypt 函数以类似的方式执行 生成随机盐并将其嵌入到保存的字符串中 我有一个使用创建的哈希密码表 5 用于设置基于 SHA256 的加盐密码的字符串密钥 这些哈希值在两端以固定的间隔附加了一
  • 从多个 WAV 文件中删除标头,然后将剩余数据连接到一个 RAW 文件中

    我有一个 RAW 音频文件 它由几个串联的较小 WAV 文件组成 我可以在 Sound Forge 中以 48 000 8 位 PCM 签名 单声道格式打开并播放此文件 我想做的是 在 C 中 以编程方式用相等或更短长度的新数据覆盖文件中的
  • @EJB 注入失败,但 JNDI 查找在 Glassfish 的 Web 服务类中有效

    我有一个注入 EJB 的 WebService 类 EJB 打包在 jar 文件中 该文件与 Web 服务类位于同一个 war 文件中 EJB 注入总是失败 但我可以在 EJB 上进行 JNDI 查找 我尝试过将 EJB 及其接口设置为 R
  • 在 dockerized Rails 5 应用程序上启动 Capybara-Webkit

    我正在开发一个全新的 Rails 5 应用程序 但无法启动 Capybara Webkit 我正在跟进这些迹象 https github com thoughtbot capybara webkit ci 我的开发过程包括 Docker C