2017-10-12 230 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) –

相關問題