以前,我有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
答案 0 :(得分:1)
你已经更新了Capybara,但没有更新Poltergeist。 Capybara 2.7中有一个更新,其中Capybara.save_and_open_page_path
被弃用而不是Capybara.save_path
,相对路径的行为略有不同。同时更新Poltergeist,您的问题可能会消失。