什么导致Poltergeist截图在使用Capybara 2.15.4时停止工作?

时间:2017-10-12 04:02:26

标签: ruby-on-rails phantomjs capybara poltergeist

以前,我有Capybara 2.5,而Poltergeist page.save_screenshot工作正常。但是,最近,我刚刚将我的Capybara升级到2.15.4,这导致Poltergeist page.save_screenshot不再工作了。该文件未创建。

这是我的功能规范:

feature 'create', js: true do
  before do
    visit root_path
  end

  scenario 'valid' do
    page.save_screenshot('test.png')
  end
end

spec_helper.rb:

require 'capybara/poltergeist'

Capybara.register_driver :poltergeist do |app|
  options = {
    js_errors: false,
    phantomjs_options: ['--load-images=false', '--ignore-ssl-errors=yes', '--ssl-protocol=any'],
    timeout: 60,
    debug: true
  }
  Capybara::Poltergeist::Driver.new(app, options)
end
Capybara.javascript_driver = :poltergeist

我目前的环境:

Ruby 2.3.3
Capybara 2.15.4
Poltergeist 1.9.0
PhantomJS 2.1.1

1 个答案:

答案 0 :(得分:1)

你已经更新了Capybara,但没有更新Poltergeist。 Capybara 2.7中有一个更新,其中Capybara.save_and_open_page_path被弃用而不是Capybara.save_path,相对路径的行为略有不同。同时更新Poltergeist,您的问题可能会消失。