ruby-on-rails - Capybara 的 save_and_open_page 带有样式表和 javascript 的绝对路径

标签 ruby-on-rails rspec cucumber capybara

我正在使用 rspec 特性和 capybara 来测试我的 rails 3.1 应用程序。有时保存我们正在打开的页面的静态 html 并浏览一下会很有用。这就是 save_and_open_page 方法的用途。

但是 capybara 会在名为 tmp/capybara 的目录中生成一个 html 文件,所以如果我的样式表和 javascript 路径如下所示:

<script src="/javascripts/application.js?1362462583" type="text/javascript"></script>

它们不会被发现,因为这个绝对路径假定我们在 /public 目录中。

保存页面并正确打开它的最佳解决方案是什么?

最佳答案

save_and_open_page 的 Assets 管道支持将在 Capybara v2.1 中可用,请参阅 https://github.com/jnicklas/capybara/pull/958

与此同时,您必须使用 selenium 驱动程序并使用 sleep getsbinding.pry 方法停止测试执行,以便您可以与selenium浏览器交互

关于ruby-on-rails - Capybara 的 save_and_open_page 带有样式表和 javascript 的绝对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15220645/

相关文章:

ruby-on-rails - 如何从场景中获取步骤定义中的@tag? - ruby

jquery - 为什么 jQuery 无法在我的 Rails 5 应用程序中运行?

sql - 如何显示 RSpec 测试生成的 SQL 查询日志?

ruby-on-rails - 将一个 Controller 重定向到另一个 Controller

ruby-on-rails - RSpec 中的开拓者单元和设计 current_user

ruby-on-rails - 如何使用 rspec/rails 测试 AJAX 请求的路由

java - 范围报告在 Cucumber 4.7.1 中不起作用

ruby - cucumber + 阿鲁巴岛 + Windows : Tests don't see last line of stdout?

ruby-on-rails - 需要帮助确定为什么 Rails 3 应用程序邮件程序发送 2 封电子邮件而不是 1 封

ruby-on-rails - 列出 'rake routes' 用于可安装的 Rails 3.1 引擎