2017-10-12 4 views
0

Zuvor hatte ich Capybara 2.5, und Poltergeist page.save_screenshot hat gut funktioniert. Aber kürzlich habe ich gerade meinen Capybara auf 2.15.4 aktualisiert, und das hat dazu geführt, dass Poltergeist page.save_screenshot nicht mehr funktioniert. Die Datei wurde nicht erstellt.Was hat dazu geführt, dass der Poltergeist-Screenshot bei Verwendung von Capybara 2.15.4 nicht mehr funktioniert?

Hier ist meine Funktion spec:

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 

Meine aktuelle Umgebung:

Ruby 2.3.3 
Capybara 2.15.4 
Poltergeist 1.9.0 
PhantomJS 2.1.1 

Antwort

1

Sie haben Update Capybara, aber nicht Poltergeist aktualisiert. Es gab ein Update in Capybara 2.7, wo zugunsten Capybara.save_path mit etwas unterschiedlichem Verhalten um relative Pfade veraltet wurde. Aktualisieren Sie auch Poltergeist und Ihr Problem wird wahrscheinlich verschwinden.

+0

Update Poltergeist auf 1,16 jetzt aber mein Problem tritt immer noch auf. –

+0

Danke für den Hinweis auf den Pfad. Ich habe es versäumt, das Dokument über den Pfad der erstellten Datei zu lesen. Eigentlich wurde die Datei erstellt, aber nicht im Stammverzeichnis wie früher in Capybara 2.5 gespeichert. [link] (https://github.com/teamcapybara/capybara#debugging) –

Verwandte Themen