capybara-webkit: автоматическое сохранение скриншота при сбое теста RSpec

Как я могу автоматически сохранить 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 ответов


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


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

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


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

save_and_open_screenshot

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

Capybara:: save_and_open_screenshot