【问题标题】:Undefined method for save_screenshot for Capybara and PoltergeistCapybara 和 Poltergeist 的 save_screenshot 的未定义方法
【发布时间】:2013-06-03 21:12:33
【问题描述】:

我正在使用 capybara (1.1.4)、poltergeist (1.0.2) 和 rails (3.2.13)。我正在尝试截屏以调试我遇到的一些错误。但是,capybara 和 poltergeist 保存屏幕截图的方法都不起作用。当我做 poltergeist(并且我所有的测试都有 js: true)时,我得到了这个:

Failure/Error: save_screenshot('test.png')
     NoMethodError:
       undefined method `save_screenshot' for #<RSpec::Core::ExampleGroup::Nested_1:0x007fb5fcce3178>

当我使用 Capybara 方式时,我得到了这个:

Failure/Error: page.save_screenshot('screenshot.png')
     NoMethodError:
       undefined method `save_screenshot' for #<Capybara::Session>

我完全不知道为什么这不起作用,谷歌搜索完全没有帮助。如果您需要更多信息,请询问,我会尽快回复。非常感谢您的帮助!

【问题讨论】:

  • 这里包含 Capybara::DSL 吗?注销page 进行检查。否则请务必... 要求 'capybara' 要求 'capybara/dsl' 要求 'capybara/poltergeist' 要求 'nokogiri'
  • 不知道您所说的注销页面是什么意思。但是即使我需要 spec_helper.rb 并且它们都在那里,我输入了所有的要求,它仍然没有工作。
  • page 指的是 Capybara 实例/会话。

标签: ruby-on-rails ruby capybara integration-testing poltergeist


【解决方案1】:

我注意到您说您使用的是poltergeist 1.0.2,但您使用的语法来自later version。尝试升级到 1.3.0 版。

【讨论】:

  • 这工作谢谢!这不是一个很好的解决方案,因为它还更新了 Capybara,这会弄乱一堆测试,但它确实允许我拍摄快照。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-08
  • 1970-01-01
  • 1970-01-01
  • 2017-11-08
相关资源
最近更新 更多