PhantomJS ha l'opzione di acquisire uno screenshot dell'intera pagina (non solo la finestra corrente). C'è un modo per farlo utilizzando il selenio? Sto facendo funzionare i test Cucumber/Capybara senza testa, usando la gemma senza testa. Vorrei usare PhantomJS, ma ho avuto qualche altro problema.È possibile fare uno screenshot dell'intera pagina con Selenium/Capybara?
risposta
Ho scoperto che stavo usando il metodo take_screenshot
fornito dalla gemma senza testa, quando avrei potuto usare il metodo page.save_screenshot()
, che fa esattamente ciò di cui ho bisogno. Grazie, Andrey.
Si potrebbe anche fare qualcosa di simile:
After do |scenario|
take_screenshot(@browser, scenario)
end
def take_screenshot(browser, scenario)
if scenario.failed?
scenario_name = scenario.name.gsub /[^\w\-]/, ' '
time = Time.now.strftime("%Y-%m-%d %H%M")
screenshot_path = './failed_png/' + time + ' - ' + scenario_name + '.png'
else
scenario_name = scenario.name.gsub /[^\w\-]/, ' '
time = Time.now.strftime("%Y-%m-%d %H%M")
screenshot_path = './success_png/' + time + ' - ' + scenario_name + '.png'
end
browser.save_screenshot(screenshot_path)
end
Se si commette un failed_png e la cartella success_png, questo codice avrà uno screenshot per ogni successo e fallimento, e metterlo nelle rispettive cartelle con il timestamp su di essa. Questo codice va nel tuo file env.rb, e fa in modo che tu non debba usare alcun aiuto o aggiungere alcun codice extra ai tuoi step def.
Grazie, Whitney. Ho già degli screenshot automatici, ma solo in caso di errore. Eseguo anche l'html al momento del fallimento per scopi di debug. Uso qualcosa come 'File.open (" errors/# {filename} .html ", 'w') {| f | f.write (page.html)} ' – TrashyMcTrash
Nel caso qualcuno ha lavato in questa spiaggia alla ricerca di come fare questo con Poltergeist non vi resta che passare l'argomento full
:
page.save_screenshot('screen.png', full: true)
Docs.
Spero che aiuti!
Grazie fantastici! Ho scelto di usare 'puts save_screenshot (nil, full: true)' così ha generato un nome di file casuale e lo ha stampato. –
- 1. Come fare uno screenshot con FireMonkey (multipiattaforma)
- 2. Ottenere uno screenshot da una pagina ASP.Net
- 3. Ottiene automaticamente uno screenshot di una pagina
- 4. Prendendo uno screenshot di una pagina singola applicazione con JavaScript
- 5. È tecnicamente possibile fare uno screenshot di un sito web a livello di programmazione?
- 6. È possibile fare uno screenshot di una vista senza mostrare la vista?
- 7. È possibile ottenere uno screenshot di pagina da un test dell'unità mocha/phantomjs?
- 8. Prendere uno screenshot con Silverlight 5/XNA
- 9. Cattura uno screenshot con C \ GTK
- 10. Come fare uno screenshot in modo programmatico su iOS?
- 11. Come fare screenshot sotto Wayland?
- 12. Come posso fare uno screenshot in un'applicazione Windows?
- 13. Senza iPhone, come fare screenshot con XCode?
- 14. Rileva uno screenshot Android
- 15. Il modo più veloce per fare uno screenshot con python su windows
- 16. C'è un modo per fare uno screenshot in MS-Access con vba?
- 17. Come eseguire uno screenshot parziale con Selenium WebDriver in python?
- 18. Come fare una selezione dell'area screenshot disegnando sul desktop per fare screenshot?
- 19. Come caricare uno screenshot usando html2canvas?
- 20. Come si fa a prendere uno screenshot correttamente con xlib?
- 21. Acquisizione di uno screenshot mediante Graphics.CopyFromScreen con ridimensionamento del 150%
- 22. C'è un modo per fare automaticamente uno screenshot di un sito web attraverso un URL?
- 23. Come è possibile fare clic su coordinate specifiche con selenium2 webdriver in C#?
- 24. C'è un modo diverso dal metodo miniatura per fare uno screenshot di un video in Iphone?
- 25. Ottenere uno screenshot di un'applicazione specifica
- 26. Come creare uno screenshot di un'area particolare?
- 27. Confronto screenshot fuzzy con selenio
- 28. Fai uno screenshot dell'intero schermo usando html5/javascript?
- 29. creare uno screenshot della pagina Web utilizzando html2canvas (impossibile inizializzare correttamente)
- 30. UIAutomation iOS: è possibile confrontare gli screenshot con le immagini di riferimento?
Capybara ha un metodo per questo - http://rubydoc.info/github/jnicklas/capybara/master/Capybara/Session#save_screenshot-instance_method. È supportato anche da Selenium –