2011-10-18 24 views
10

Làm cách nào để tự động lưu html và ảnh chụp màn hình khi thử nghiệm không thành công khi sử dụng capybara-webkit với Rspec? Làm thế nào tôi có thể thực thi một cuộc gọi lại khi kiểm tra RSpec không thành công.capybara-webkit: tự động lưu ảnh chụp màn hình vào lỗi kiểm tra RSpec

Điểm thưởng: làm thế nào tôi có thể tránh nhận được lỗi sau:

Capybara::Driver::Webkit::WebkitInvalidResponseError 

khi thực hiện mã này:

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) 

Trả lời

2

Tìm thấy một ý chính có thể giúp bạn https://gist.github.com/1156691

+0

Đó là nơi mẫu mã của tôi đã được đến từ :) –

+0

không mã không hoạt động? –

+0

1) nó là cho dưa chuột, mà tôi không sử dụng. 2) Tôi nhận được lỗi trên –

15

Tôi đã viết a gem Capybara-Ảnh chụp màn hình đặc biệt cho việc này, hãy xem https://github.com/mattheworiordan/capybara-screenshot

Nó sẽ tự động tạo ảnh chụp màn hình trên các bước RSpec hoặc Dưa chuột không thành công.

+1

Đá quý này thật tuyệt vời! Cảm ơn bạn! –

+0

Vui vì bạn thích nó! –

+0

Hoặc bạn có thể đặt 'save_and_open_screenshot' không có đá quý mới, ít nhất là bây giờ :) – Aleks

1

Capybara cung cấp chức năng lưu và mở màn hình trong khi thử nghiệm. Bạn chỉ cần gọi cho bất cứ nơi nào trong thử nghiệm của bạn:

save_and_open_screenshot

và nó sẽ mở ra một bức tranh như thế nào kiểm tra trông giống như tại thời điểm đó. Không cần thêm bất kỳ đá quý nào.

Capybara::save_and_open_screenshot

Các vấn đề liên quan