2011-10-18 17 views
10

Come posso salvare automaticamente l'html e uno screenshot quando un test fallisce utilizzando capybara-webkit con Rspec? Come posso eseguire una richiamata quando un test RSpec fallisce.capybara-webkit: salva automaticamente uno screenshot su un errore di test RSpec

I punti bonus: come posso evitare di ottenere il seguente errore:

Capybara::Driver::Webkit::WebkitInvalidResponseError 

durante l'esecuzione di questo codice:

require 'capybara/util/save_and_open_page' 
path = "/#{Time.now.strftime('%Y-%m-%d-%H-%M-%S')}" 
png = Capybara.save_and_open_page_path + "#{path}.png" 
page.driver.render Rails.root.join(png) 

risposta

2

trovato un succo che potrebbe aiutare a https://gist.github.com/1156691

+0

è qui che il mio esempio di codice è già venuta da :) –

+0

non il codice non funziona? –

+0

1) è per il cetriolo, che non sto usando. 2) Ottengo sopra l'errore –

15

ho scritto una gemma Capybara-Screenshot appositamente per questo, controlla https://github.com/mattheworiordan/capybara-screenshot

Creerà automaticamente schermate su passaggi RSpec o Cucumber falliti.

+1

Questa gemma è incredibile! Grazie! –

+0

Felice che ti piaccia! –

+0

Oppure puoi mettere "save_and_open_screenshot' senza una nuova gemma, almeno ora :) – Aleks

1

Capybara fornisce una funzione per il salvataggio e l'apertura di uno screenshot durante il test. Hai solo bisogno di chiamare in tutto il test:

save_and_open_screenshot

e si aprirà un quadro di come il test assomiglia a quel punto. Non c'è bisogno di gemme aggiuntive.

Capybara::save_and_open_screenshot

Problemi correlati