【问题标题】:Capybara current_url giving example.comCapybara current_url 给 example.com
【发布时间】:2017-02-01 13:53:40
【问题描述】:

不久前,我发现了一个非常有用的 Capybara 提示,即打开当前页面,因为人类会在测试中途看到它:

找到端口地址并暂停测试

有时我只是想看看浏览器中发生了什么。虽然 save_and_open_page 可以让您了解正在发生的事情,但您不能真正点击周围,因为它为您提供的页面是静态的并且缺少资源。为了深入了解发生了什么,我喜欢使用从我的导师 Mike Pack 那里学到的技巧。

在测试中的虚线上方,添加这两行代码。请注意,您必须在当前的 gemset 中安装 pry 或在 Gemfile 中指定它才能工作。

puts current_url
require 'pry'; binding.pry

运行规范,当它们暂停时,从测试输出中复制 url 和端口号。打开浏览器并将地址粘贴到窗口中。瞧!您现在正在测试模式下浏览您的网站!

(来自here的提示三)

我记得这很简单,但现在当我使用它时,主机被指定为“http://www.example.com/”,毫无疑问,尝试打开它会无处可去。

我找到了一个 similar question,其中可能包含足够的信息来弄清楚如何破解 Capybara,但我的第一次尝试没有奏效我想知道是否有人知道开箱即用的解决方案?

我们可能相关的测试宝石是 Capybara、Poltergeist、Launchy 和 Webmock。

【问题讨论】:

    标签: ruby-on-rails-4 rspec capybara poltergeist


    【解决方案1】:

    如果 current_url 作为 example.com 返回,那么您尝试执行此操作的测试很可能使用 rack_test 驱动程序(无 JS,CSS 非常有限)。您不能使用 rack_test 驱动程序将浏览器指向测试,因为它不会启动服务器来为这些测试提供页面。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-27
      • 1970-01-01
      • 1970-01-01
      • 2020-06-20
      • 1970-01-01
      相关资源
      最近更新 更多