capybara-webkit: автоматически сохранять скриншот при неудачном тесте RSpec - PullRequest
10 голосов
/ 18 октября 2011

Как я могу автоматически сохранить html и снимок экрана, если тест не пройден с использованием capybara-webkit с Rspec? Как выполнить обратный вызов при сбое теста RSpec.

Бонусные баллы: как избежать следующей ошибки:

Capybara::Driver::Webkit::WebkitInvalidResponseError 

при выполнении этого кода:

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)

Ответы [ 3 ]

15 голосов
/ 16 ноября 2011

Я специально для этого написал gem Capybara-Screenshot, посмотрите https://github.com/mattheworiordan/capybara-screenshot

Он автоматически создает снимки экрана при неудачных шагах RSpec или Cucumber.

2 голосов
/ 18 октября 2011

Найдена суть, которая может вам помочь https://gist.github.com/1156691

1 голос
/ 18 января 2017

Capybara предоставляет функцию сохранения и открытия скриншота во время тестирования.Вам просто нужно позвонить в любое место в вашем тесте:

save_and_open_screenshot

, и он откроет картину, как тест выглядит в этой точке.Никаких дополнительных драгоценных камней не требуется.

Капибара :: save_and_open_screenshot

...