- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我继承了一个代码库,其中的测试已经放弃了一年多一点。我正在尝试尽可能多地清理测试套件,但我很难梳理我的集成测试 1. Capybara 2. Puma, 3. Selenium, 4. 使用 rails s 启动 Rails Server。
这是我对 Rails 4.2 应用程序的初始设置和问题。因此,当我执行 Rails 测试时,从一开始就没有做任何事情,我收到以下错误:
Capybara is unable to load
puma
for its server, please addpuma
to your project or specify a different server via something likeCapybara.server = :webrick
. (LoadError).
我想指出的是,在名为 start-dev
的单独文件中,我的内容如下:
rails s -b 0.0.0.0
当我使用 ./start-dev 执行此命令时,我可以使用 /etc/hosts
127.0.0.1 secure.ssl 中定义的此 url 查看我的开发应用程序。本地
现在这里是我开始遇到麻烦的地方,通过阅读一些关于 capybara 和美洲狮的 github 论坛,我首先将美洲狮添加到我的 Gemfile 中并捆绑安装,但现在我无法通过浏览器在 secure.ssl.local
.
这是我得到的错误:
/usr/lib/ruby/2.6.0/uri/rfc3986_parser.rb:67:in `split': bad URI(is not URI?): "tcp://0.0.0.0\r:3000" (URI::InvalidURIError)
我注意到在启动时,当我执行 ./start-dev
如果你记得有 rails s -b 0.0.0.0
,我看到这个:
Booting Puma rails 4.2.11.1 application starting in development on https://0.0.0.0:3000
所以我对这个错误感到困惑。 Puma 是否阻塞了我的 3000
端口,这意味着我必须更改 Puma 的端口?更令人困惑的是,我没有在终端中运行 ./start-dev
而只是运行 rails s -b 0.0.0.0
它神奇地工作,除了它仅当我导航到 localhost:3000
而不是 secure.ssl.localhost
时才有效。这很重要,因为在 secure.ssl.localhost 上我有并且需要证书,而 localhost 我不需要。
最后又增加了一层困惑,当我在安装了 puma gem 的情况下运行测试并运行 rake test
我用 Puma 得到了这个:
Capybara starting Puma... * Version 4.2.1 , codename: Distant Airhorns * Min threads: 0, max threads: 4 * Listening on tcp://127.0.0.1:36608
而且测试需要很长时间才能加载。发生了很多事情,但我想我的问题可以总结如下?当我将 puma 安装到我的 rails 应用程序中时,我是否需要在特定端口上指定它以便它不会与我的应用程序冲突?没有 puma,我的测试无法运行,我的 ./start-dev
文件也能正常工作。使用 Puma,我的测试可以正常工作,但我的 ./start-dev
文件不再可用。 puma的配置肯定有一个标准。谢谢。
最佳答案
通过将 puma 放入测试组来为测试环境安装 puma:
group :test do
gem "puma"
end
或者按照 Capybara 的建议将 Capybara.server = :webrick
放入您的 spec/rails_helper.rb
仅供引用:如果安装了 puma,Rails 使用 puma 作为默认 Web 服务器
关于ruby-on-rails - 了解 rails 与 Puma 和 Capybara 的冲突。如何在 Gemfile 中正确安装 puma?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58700186/
我有一个文件字段,其中包含 opacity: 0并且正在重叠一个假按钮。它是一种常见的 css 技术,可以伪造一种在不同浏览器中一致显示的“上传按钮”。 Capybara 不允许我打电话 attach
我正在尝试为我的 ROR 应用程序编写一些 capybara cucumber 脚本,但发现很难通过每次都进行更改并运行完整功能来使脚本正确。 是否有适用于 Capybara 的 REPL(Read
像这样的html 我的代码是 attach_file("ok","./fileset/publisher/upload_pic.jpg") 但我失败了: 失败: Capybara::Element
我想在我的代码中设置不同的 Capybara 等待时间,具体取决于它们通常需要多长时间才能完全加载?我是否必须重复更改 Capybara.default_wait_time 还是有更好的方法? 最佳答
在 Capybara 中,是否可以在新窗口而不是当前窗口中打开链接? 最佳答案 如果此元素是链接,您只需获取其 href 并在新窗口中打开它: url = find('.some_link')[:hr
对于编辑记录的集成测试,我尝试用新文本替换表单输入字段中的现有文本: find("input[@id='course_title']").set("a safer workplace") 但是,每次我
我有一个动态生成的表单,如下所示: Do you like Pizza? [ ] Yes [ ] No HTML 看起来像这样: Do you like Pizza?
我正在尝试填写两个标有 id="admin_passsword"的文本框。我可以轻松访问第一个文本框,但由于除了占位符和上面的标签之外没有任何区别,我不知道如何访问第二个文本框来填写该字段。
我是一个新手,尝试使用 Capybara 测试我的 Rails 项目,但是当我尝试从我的 div 中检测一些字符串时,我对 page 和 page.body 的含义感到困惑:(in :js=>true
我在使用 rspec、capybara、capybara-webkit 和 timecop 的某些集成规范中看到错误。 Capybara::FrozenInTime: time appears
我使用以下 html 堆栈创建了自定义上传表单: 文件字段通过 display: none 的 css 隐藏属性(property)。因此,当她单击标签(自定义样式)时,用户会调用文件
假设我在 Mac OS X 上安装了 PhantomJS,我可以编写一个普通的旧 Ruby 脚本(没有 Cucumber,没有 RSpec)来驱动 Poltergeist 吗?换句话说,我想要一些 g
我希望单击我的测试应用程序上出现的弹出消息(如果存在)。我对 capybara 很陌生,似乎找不到办法做到这一点。我以前有过使用 watir 的经验,如果我使用 watir 的话,会是这样的: if
我目前使用 Watir-webdriver 进行所有前端测试,但开发团队使用 Capybara 在 Jenkins CI 上运行测试。我们都使用相同的 Cucumber 功能。 值得我们进行两次有效的
Capybara的API似乎不支持配置HTTP代理。有没有什么方法可以和它一起使用? 上下文:我使用 capybara 和 cucumber 来测试 Rails 应用程序,并使用 akephalos
我很好奇是否有更好的方法来测试页面中是否存在完整的 URL(包括协议(protocol))。 使用 Capybara 2.10.2 和 Rails 5.0.0.1,我有以下设置: rails_help
我有以下测试: it 'shows the current quantity of items inside cart' do item = create(:item) visit
我正在使用 Capybara 自动截取一些屏幕截图。 我需要 chrome 浏览器最大化运行,但我似乎无法让它工作。 基于 https://sites.google.com/a/chromium.or
下面是两个单选按钮的 html 代码,它们只是“值”属性不同 我想做的是选择“value =2”的单选按钮 我尝试使用“选择(“AmountOption”)”选择第一个单选按钮,但我想选择第二个单
我尝试使用几种变体来检查 Capybara 的 200 Ok HTTP 响应,但没有一个变体不起作用: response.should be_success page.status.should be
我是一名优秀的程序员,十分优秀!