2011-11-01 18 views
5

मैं अपनी वेबसाइट के चारों ओर नेविगेट करने और विभिन्न ब्राउज़रों में स्क्रीनशॉट को पकड़ने के लिए वॉटर-वेबड्राइवर का उपयोग कर रहा हूं।वॉटर-वेबड्राइवर ब्लैक स्क्रीनशॉट

कभी-कभी आईई में ली गई स्क्रीनशॉट सही आकार को बदल देती हैं, लेकिन रंग पूरी तरह से काला हो जाती है। फ़ायरफ़ॉक्स परीक्षण जो एक ही समय में चलते हैं ठीक दिखते हैं।

browser.driver.save_screenshot(screenshot_dir) 

एक बार जब मैं परीक्षण करने वाले कंप्यूटर पर दूरस्थ डेस्कटॉप चलाता हूं तो आईई स्क्रीनशॉट फिर से ठीक दिखते हैं। रिमोट डेस्कटॉप छोड़ने के बाद थोड़ा सा आईई स्क्रीनशॉट फिर से काला हो जाता है।

मैं इन परीक्षणों को ec2 पर चल रहे विंडोज सर्वर के उदाहरण पर चला रहा हूं।

उत्तर

5

आपकी टिप्पणी के आधार पर कि मशीन को दूरस्थ रूप से एक्सेस करने से समस्या थोड़ी देर के लिए समस्या हल हो जाती है ... उस बॉक्स पर स्क्रीनसेवर को अक्षम करें। मुझे यकीन नहीं है कि कैसे (यदि बिलकुल नहीं) आईई और एफएफ पर स्क्रीनशॉट फ़ंक्शन अलग-अलग होते हैं, लेकिन परिवर्तन के परीक्षण के लिए यह कितना समय लगेगा।

संपादित करें: मुझे लगता है कि जब भी आप बॉक्स में लॉग इन करते हैं तो यह विंडोज़/पावर सेटिंग से संबंधित है, लेकिन मुझे नहीं पता कि यह और क्या हो सकता है। मैंने वीवीवी के नीचे एक प्रोग्रामेटिक दृष्टिकोण की कोशिश की।

+0

अच्छी प्रवृत्तियों, यह देखना दिलचस्प होगा कि यह समस्या –

+1

है यदि स्क्रीन लॉक हो तो यह समस्या मेरे साथ होती है, इसलिए मैं यह सुनिश्चित करने में भी फेंक दूंगा कि मॉनीटर को चालू रखने के लिए पावर सेटिंग्स सेट की गई हैं। – kinofrost

+0

स्क्रीनसेवर को बंद करना पहली बात थी जिसने मैंने कोशिश की ... :( अच्छा विचार हालांकि – will

0

यहां कोड है जिसका उपयोग मैं स्क्रीनशॉट (वॉटर-वेबड्राइवर, ककड़ी) को कैप्चर करने के लिए कर रहा हूं। मैं अपने परीक्षण बॉक्स के लिए दूरस्थ विंडोज एक्सपी वीएम का उपयोग करता हूं, और फ़ायरफ़ॉक्स या इंटरनेट एक्सप्लोरर का उपयोग करके इस मुद्दे का सामना नहीं किया है।

हमें पता चला कि जब आप एम्बेडेड स्क्रीनशॉट के साथ लॉग देखते हैं, तो यह IE में काम नहीं करता है - इसलिए आपको देखने के लिए फ़ायरफ़ॉक्स का उपयोग करना होगा। यह बेस 64 है, इसलिए इसके लिए एक तार्किक कारण प्रतीत नहीं होता है।

After do |scenario| 
    if scenario.failed? 
     encoded_img = @browser.driver.screenshot_as(:base64) 
     embed("data:image/png;base64,#{encoded_img}", 'image/png') 
    end # 
end 
+0

क्या आपने आईई के 32 बिट और 64 बिट संस्करणों की कोशिश की है? –

+0

मेरे पास है, लेकिन मुझे ओपी के बारे में निश्चित नहीं है। Win7 64-बिट, एक्सपी 32-बिट। –

+0

मैं विशेष रूप से ब्राउज़र के लिए जिक्र कर रहा था। 64 बिट ओएस पर आपके पास आमतौर पर आईई का 32 बिट संस्करण होगा जो डिफ़ॉल्ट रूप से खुलता है, और एक 64 बिट संस्करण जिसे आप भी बुला सकते हैं। देखें प्रारंभ => सभी कार्यक्रम, और सूची के शीर्ष के नजदीक देखें, आपको दोनों संस्करणों को इंगित करना चाहिए। मेरा विचार यह था कि 64 बिट संस्करण उस फ़ाइल को देखने के लिए बेहतर काम कर सकता है जो आपको लगता है कि केवल FF –

1

तुम क्या कह रहे से, ऐसा लगता है कि विंडोज सिस्टम स्वचालित रूप से, ताला लगा है जैसे यह होना चाहिए लगता है। यह समझाएगा कि जब आप रिमोट करते हैं तो स्क्रीनशॉट ठीक काम क्यों करते हैं, और फिर कई मिनट बाद काले रंग में जाते हैं जब स्क्रीनसेवर आपके सिस्टम को चालू करता है और लॉक करता है।

यदि विंडोज सिस्टम लॉक है, तो स्क्रीनशॉट काली हो जाती है। यह एक विंडोज सुरक्षा सुविधा है।

मुझे यह जानकर उत्सुकता होगी कि एफएफ वास्तव में लॉक सिस्टम पर स्क्रीन कैप्चर करता है या नहीं।

+1

मैंने एक सेवा के रूप में परीक्षण शुरू करना शुरू किया (दिनों के लिए मशीन में लॉग इन नहीं)। एफएफ परीक्षण अभी भी काम करते हैं। – will

संबंधित मुद्दे