2017-10-12 214 views
0

以前,我有水豚2.5,和Poltergeist page.save_screenshot工作得很好。但是,最近,我刚刚将我的水豚升级到2.15.4,导致Poltergeist page.save_screenshot不再工作。该文件未被创建。使用Capybara 2.15.4时,导致Poltergeist屏幕截图停止工作的原因是什么?

这里是我的功能规格:

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

您已经更新水豚,但没有更新鬼驱人。在水豚2.7有一个更新,其中Capybara.save_and_open_page_path已被弃用,赞成Capybara.save_path与相对路径周围稍有不同的行为。更新Poltergeist以及你的问题可能会消失。

+0

更新Poltergeist到1.16现在,但我的问题仍然存在。 –

+0

感谢您指出路径。我错过了阅读有关更改创建文件路径的文档。实际上,该文件已创建,但并未保存在根目录中,因为它曾用于Capybara 2.5。 [链接](https://github.com/teamcapybara/capybara#debugging) –

相关问题