2011-10-18 2 views
10

जब टेपेपी के साथ कैपिरा-वेबकिट का उपयोग कर परीक्षण विफल रहता है तो मैं स्वचालित रूप से HTML और स्क्रीनशॉट कैसे सहेज सकता हूं? आरएसपीईसी परीक्षण विफल होने पर मैं कॉलबैक कैसे निष्पादित कर सकता हूं।कैपिबरा-वेबकिट: आरएसपीईसी परीक्षण विफलता पर स्वचालित रूप से एक स्क्रीनशॉट सहेजें

बोनस अंक: कैसे मैं निम्न त्रुटि होने से बचने कर सकते हैं:

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) 

उत्तर

2

एक सार है कि आप https://gist.github.com/1156691

+0

जहाँ मेरे कोड नमूना पहले से ही :) –

+0

से आ रही है है कि कोड काम नहीं करता है? –

+0

1) यह ककड़ी के लिए है, जिसका मैं उपयोग नहीं कर रहा हूं। 2) मैं त्रुटि से ऊपर मिलता हूं –

15

मैं लिखा है मदद कर सकता है मिले विशेष रूप से इसके लिए एक मणि Capybara- स्क्रीनशॉट, https://github.com/mattheworiordan/capybara-screenshot

देखें

यह असफल आरएसपीसी या ककड़ी चरणों पर स्वचालित रूप से स्क्रीन शॉट बना देगा।

+1

यह मणि अद्भुत है! धन्यवाद! –

+0

खुशी है कि आप इसे पसंद करते हैं! –

+0

या आप कम से कम अब एक नए मणि के बिना 'save_and_open_screenshot' डाल सकते हैं :) – Aleks

1

कैपिबरा परीक्षण के दौरान स्क्रीनशूट को सहेजने और खोलने के लिए एक फ़ंक्शन प्रदान करता है। तुम सिर्फ अपने परीक्षण में कहीं भी कॉल करने की आवश्यकता:

save_and_open_screenshot

और कैसे परीक्षण उस बिंदु पर की तरह लग रहा है कि यह एक तस्वीर खुल जाएगा। किसी भी अतिरिक्त रत्न के लिए कोई ज़रूरत नहीं है।

Capybara::save_and_open_screenshot