我刚刚将我的水豚更新到 2.0,我所有的 save_and_open_page 调用都返回一个没有样式的 html 页面。它在页面顶部有正确的样式表链接。当我恢复到 capybara 1.3 时,样式再次起作用。任何人都知道如何解决这个问题,和/或问题是什么?
谢谢,戴夫
更新 1。
黑客:
按照 simonmorley 推荐的链接,我找到了一种解决问题的合理方法:Capybara Webkit 问题 ,它指向:capybara-screenshot
它涉及使用 capybara-screenshot gem 来获取页面外观的屏幕截图。当您将它与生成 html 的 save_and_open_page 结合使用时,您可以看到它的样子,并看到 HTML。
save_and_open_page
Capybara::Screenshot.screenshot_and_open_image
如果我可以开始Capybara::Screenshot.screenshot_and_save_page
工作,那么我认为我可能有一个解决方案(如果名称暗示了我认为的行动)。但是,当我尝试时,我得到cannot load such file -- capybara/util/save_and_open_page
更新 2。
!!等等,screenshot_and_open_image 现在不工作(没有创建或显示 png 图像)。!!
更新 3。
测试应用:
我创建了一个测试应用程序,并将其发布在 Github 上的 test_capybara_screenshot 上。
当我在开发中运行这个测试应用程序时,页面会显示出耀眼的红色背景样式。当我运行测试时,唯一对我有用的是 save_and_open_page,除了没有样式。
请注意,当我运行任何测试时,我会收到以下警告:
警告:Nokogiri 是针对 LibXML 版本 2.7.8 构建的,但已动态加载 2.7.3
rspec 测试的详细信息:
- save_and_open_page 带有一个无聊的白色背景(没有样式)。
- screenshot_and_open_image 返回错误:
Rack::Test capybara 驱动没有输出屏幕截图的能力。跳过。
使用选项 {} 打开 /~/Documents/experiments/test_capybara_screenshot/tmp/capybara/screenshot-2012-11-26-07-48-29.png 失败:未找到处理 '/~/Documents/experiments/test_capybara_screenshot 的应用程序/tmp/capybara/screenshot-2012-11-26-07-48-29.png'
- screenshot_and_save_page 返回:
在后挂钩中发生错误
LoadError: 无法加载此类文件 -- capybara/util/save_and_open_page 发生在 ~/.rvm/gems/ruby-1.9.3-p125@global/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:在“要求”中