स्वीकृत उत्तर की आवश्यकता है कि आप प्रत्येक छवि को एक अतिरिक्त कॉल के साथ प्रॉक्सी का उपयोग करें ताकि यह निर्धारित किया जा सके कि छवियां टूट गई हैं या नहीं।
सौभाग्य से, एक और तरीका है कि आप केवल जावास्क्रिप्ट का उपयोग कर ऐसा कर सकते हैं (मैं रूबी का उपयोग कर रहा है, लेकिन आप WebDriver बाइंडिंग भर में किसी भी executeScript
विधि में एक ही कोड का उपयोग कर सकते हैं):
images = @driver.find_elements(:tag_name => "img")
broken_images = images.reject do |image|
@driver.execute_script("return arguments[0].complete && typeof arguments[0].naturalWidth != \"undefined\" && arguments[0].naturalWidth > 0", image)
end
# broken_images now has an array of any images on the page with broken links
# and we want to ensure that it doesn't have any items
assert broken_images.empty?
आपके अन्य प्रश्न के लिए, मैं केवल पृष्ठ का एक स्क्रीनशॉट लेने की सिफारिश करता हूं और मानव को मैन्युअल रूप से सत्यापित करने के लिए परिणामस्वरूप स्क्रीनशॉट में सही छवियां होती हैं। कंप्यूटर स्वचालन कार्य कर सकते हैं, लेकिन मनुष्यों को समय-समय पर अपने परिणामों की जांच और सत्यापन करना पड़ता है :)
हाय जॉनबो, एक छवि का नाम "MyImage.jpg" है, पहली बार मैं अपनी टेस्ट स्क्रिप्ट MyImage निष्पादित कर रहा हूं। साइट पर कुछ समय डेवलपर परिवर्तन के बाद ठीक है और यह "MyImage" को अन्य छवियों द्वारा प्रतिस्थापित किया गया है जिसका नाम "MyImage" (छवियों फ़ोल्डर पर) है। अब, हम टेस्ट स्क्रिप्ट MyImage को निष्पादित करते हैं और हमारी टेस्ट स्क्रिप्ट पास निष्पादित करते हैं। लेकिन वास्तव में यह बग है क्योंकि यूआई में एक और छवि प्रदर्शित हो जाती है। आपके त्वरित उत्तर के लिए धन्यवाद। – Chetan
जैसा कि मैंने इसे देखा है, आपको छवि को पहले निष्पादन में संग्रहीत करने की आवश्यकता है ताकि आप अगली बार इसकी तुलना कर सकें, क्योंकि HTML बिंदु से पृष्ठ बिल्कुल वही हो सकता है और सेलेनियम छवियों के अंतर को नहीं ढूंढ पाएगा । या हो सकता है कि आप सेलेनियम का उपयोग सिकुली स्क्रिप्ट जैसे एक छवि पहचान उपकरण के साथ संयोजन में कर सकें। – Johnbo
मैं सहमत हूं लेकिन वेब पेज की सभी छवियां स्टोर हैं और फिर तुलना करें, प्रदर्शन के अनुसार यह अच्छा नहीं है। हम छवि आकार के साथ खेल सकते हैं (यानी हम छवि आकार स्टोर कर सकते हैं और अगली बार छवि आकार की तुलना कर सकते हैं)। कोई विचार कृपया सुझाव दें। – Chetan