मुझे आश्चर्य है कि क्या वॉटर-वेबड्राइवर किसी कंसोल त्रुटियों के आउटपुट को लॉग करने की क्षमता के रूप में है? यह ब्राउज़र में मैन्युअल रूप से कंसोल खोलने और पेज लोड के रूप में जेएस त्रुटियों के लिए देखकर बराबर होगा। क्या मैं इसे वॉटर-वेबड्राइवर और लॉग/त्रुटि के माध्यम से कैप्चर कर सकता हूं?क्या वॉटर-वेबड्राइवर कंसोल त्रुटियों को कैप्चर कर सकता है?
उत्तर
ककड़ी के साथ संयोजन में वॉटर-वेबड्राइवर का उपयोग करते समय, त्रुटियों, यदि कोई हो, तो एक HTML फ़ाइल में आउटपुट जो बहुत अच्छी तरह से स्वरूपित है और इसमें वॉटर-वेबड्रिवर त्रुटियां शामिल हैं।
यह cucumber.yml में आपकी डिफ़ॉल्ट प्रोफ़ाइल के लिए निम्न झंडे जोड़कर पूरा किया जा सकता: इस फाइल here. पर
--color --format pretty --format html -o results.html
अधिक जानकारी यहाँ कुछ background on Cucumber है।
हालांकि, अगर आप कंसोल से केवल watir-webdriver उपयोग कर रहे हैं, तो आप watir-webdriver त्रुटियों एक फाइल करने के लिए करने से अनुप्रेषित कर सकते हैं निम्नलिखित:
$ ruby your_watir_script.rb 2> watir_debug.log #watir outputs errors as stderr
ज्यादातर मामलों में, अगर में कुछ watir विफल रहता है (उदाहरण के लिए एक तत्व नहीं मिल सकता है) तो उसके बाद सब कुछ भी असफल हो जाएगा, यही कारण है कि ककड़ी की तरह कुछ ऐसा करने के लिए उपयोगी है जो परिदृश्य के आधार पर आपके स्वचालन को चलाता है।
यदि यह किसी के लिए उपयोगी हो जाएगा - इस समाधान काम करना चाहिए:
def check_console_log
console_log = @browser.driver.manage.logs.get(:browser)
if console_log != nil
raise(console_log)
end
end
क्या आप वाकई सही हैं? मुझे दस्तावेज में 'get_log' नहीं दिख रहा है? –
निश्चित रूप से। अब मैं अपने प्रोजेक्ट में इस कार्यक्षमता का उपयोग कर रहा हूं, चरण विफल होने के बाद मैं कंसोल लॉग और लॉग फ़ाइल लिख रहा हूं। इस विधि _module Selenium_ _module में वर्णित Remote_ 'डीईएफ़ getLog (प्रकार) डेटा _module WebDriver_ = निष्पादित करें: getLog, {},: प्रकार => प्रकार।to_s ऐरे (डेटा) .map do | l | LogEntry.new l.fetch ('level'), l.fetch ('timestamp'), l.fetch ('message') अंत अंत ' – Kirikami
मैं Kirikami's answer पर मेरे समाधान आधारित, कोई ककड़ी आवश्यक। यह दृष्टिकोण केवल जावास्क्रिप्ट कंसोल Errors
प्रिंट करता है (कोई चेतावनी, जानकारी, लॉग, या डीबग नहीं)।
def print_js_errors
log = @browser.driver.manage.logs.get(:browser)
errors = log.select{ |entry| entry.level.eql? 'SEVERE' }
if errors.count > 0
javascript_errors = errors.map(&:message).join("\n")
raise javascript_errors
end
end
उसके बाद, आप rspec उपयोग कर रहे हैं, तो आप ऐसा कर सकते हैं:
RSpec.configure do |config|
config.after :each do
print_js_errors
end
end
सकारात्मक:
- आप अब भी इस परीक्षण के लिए RSpec के सामान्य उत्पादन प्राप्त
Pass
- आप अभी भी
Fail
(उदाहरण के लिए टाइमआउट, तत्व नहीं मिला, आदि) के लिए वॉटर-वेबड्राइवर द्वारा फेंकने वाले किसी भी त्रुटि संदेश प्राप्त करें - जब एक जावास्क्रिप्ट त्रुटि फेंक दिया जाता है, यह RSpec परीक्षण के परिणाम उत्पादन में जुड़ जाता है
विपक्ष:
- पहले दो
print_js_errors
की तर्ज प्रत्येक परीक्षा
- 1. कंसोल कंसोल कैप्चर करें C#
- 2. रेगेक्स संकलन त्रुटियों को कैप्चर करना
- 3. ग्रहण CDT कंसोल संकलन त्रुटियों
- 4. क्या सीओआरएस त्रुटियों को फंसाना संभव है?
- 5. Rails में ActiveRecord :: Base.connection.execute से त्रुटियों को कैप्चर कैसे करें?
- 6. आउटपुट फ़ाइल में प्रतिलेख त्रुटियों को कैप्चर करना
- 7. क्या कोई आईपैड/फोन ऐप है जो कंसोल लॉग (आईफ़ोन कॉन्फ़िगरेशन उपयोगिता से) कैप्चर करता है
- 8. मैं ब्रू डॉक्टर त्रुटियों को कैसे ठीक कर सकता हूं
- 9. कैप्चर किए गए चर ... वास्तव में 'कैप्चर' क्या है?
- 10. EXTRA_OUTPUT दुविधा को अनदेखा कर वीडियो कैप्चर
- 11. मानक आउटपुट कैप्चर करें और अभी भी इसे कंसोल विंडो
- 12. सेवा सी # से कंसोल आउटपुट कैप्चर कैसे करें?
- 13. वीएस में डीबगिंग के लिए कंसोल आउटपुट कैप्चर करें?
- 14. मैं PhantomJS द्वारा प्राप्त पृष्ठ में जेनरेट की गई जावास्क्रिप्ट त्रुटियों को कैप्चर कैसे करूं?
- 15. एल्माह केवल 15 त्रुटियों को लॉग कर रहा है
- 16. Grunt spawned प्रक्रिया आउटपुट को कैप्चर नहीं कर रहा
- 17. पायथन - पॉपन स्टडआउट कैप्चर करें और कंसोल पर प्रदर्शित करें?
- 18. प्रोटोटाइप जावास्क्रिप्ट त्रुटियों को निगलता है (फ़ायरफ़ॉक्स)
- 19. AVAudioRecorder त्रुटियों को फेंकता है
- 20. मैं ब्राउज़र में वीडियो कैप्चर कैसे कर सकता हूं?
- 21. रेल i18n: क्या मैं "अनुवाद गायब" त्रुटियों को बंद कर सकता हूं?
- 22. क्या मैं @ ओवरराइड त्रुटियों को अनदेखा करने के लिए जावा 5 प्राप्त कर सकता हूं?
- 23. क्या OutOfMemoryError को कैप्चर करना इतना बुरा विचार है?
- 24. क्या मुझे चीनी दिखाने के लिए कंसोल मिल सकता है?
- 25. जावास्क्रिप्ट में सिंटेक्स त्रुटियों को पकड़ा जा सकता है?
- 26. UIPanGestureRecognizer का उपयोग करके मैं किस दिशा को प्रतिबंधित कर रहा हूं कैप्चर कर सकता हूं?
- 27. क्या phantom.js सभी AJAX को कैप्चर करता है?
- 28. मैं प्रति पीआईडी नेटवर्क पैकेट कैप्चर कैसे कर सकता हूं?
- 29. मैं jQuery में COMMAND + S कैप्चर कैसे कर सकता हूं?
- 30. मैं पायथन (डॉस पर) में shutil.copy() के वापसी मूल्य को कैप्चर कैसे कर सकता हूं?
तो इन के बाद क्रियान्वित कर रहे हैं त्रुटियां ऐसी त्रुटियां हैं जो वॉटर स्वयं सही फेंकता है? क्या वॉटर पहले से ही पृष्ठ से जावास्क्रिप्ट त्रुटियों को कैप्चर करता है और उन्हें लॉग करता है? – negativebase