/ / जांचें कि क्या छवि फ़ाइल मौजूद है, रोबोट-फ्रेमवर्क, सेलेनियम 2 लॉर्ड्स

जांचें कि छवि फ़ाइल मौजूद है या नहीं, रोबोट-फ्रेमवर्क, सेलेनियम 2 लाइब्रेरी - सेलेनियम-वेबड्राइवर, रोबोटफ्रेमवर्क

मैं जानना चाहूंगा, अगर यह संभव है और कैसे जांचना है, क्या एक तत्व, जिसे एक चित्र प्रदर्शित करना है, क्या वास्तव में चित्र दिखाता है

तस्वीर में है <img src=..> और एक ही डोमेन के भीतर।

उत्तर:

जवाब के लिए 5 № 1

यह पूरी तरह से स्पष्ट नहीं है कि आपके लक्ष्य क्या हैं। मुझे लगता है कि यह मान लेना सुरक्षित है कि यदि आपका कोड सबकुछ सही करता है (जैसे: URL सही है, और css रूल्स डॉन "टी तत्व को छुपाने का कारण बनता है) कि ब्राउज़र वही करेगा जो वह करना और दिखाना चाहता है बेशक, यदि आप "परीक्षण टीम पर फिर से चल रहे हैं जो वास्तव में ब्राउज़र का परीक्षण कर रहा है, तो यह" एक अलग समस्या है।

इसलिए, यह मानते हुए कि ब्राउज़र सही ढंग से व्यवहार कर रहा है, यहां कुछ सुझाव दिए गए हैं:

  1. आप इसका उपयोग कर सकते हैं पेज में छवि होनी चाहिए तत्व को सत्यापित करने की विशेषता DOM में है।

  2. आप इसका उपयोग कर सकते हैं तत्व गुण प्राप्त करें का मान प्राप्त करने के लिए कीवर्ड src विशेषता, और फिर का उपयोग करें प्राप्त का कीवर्ड पुस्तकालय अनुरोध करता है यह सत्यापित करने के लिए कि url 200 स्थिति कोड लौटाता है।

  3. आप इसका उपयोग कर सकते हैं तत्व दिखना चाहिए यह सत्यापित करने के लिए कि सीएसएस नियम तत्व को प्रदर्शित करने की अनुमति देते हैं।

यहाँ एक पूर्ण कार्य उदाहरण है:

*** Settings ***
| Library | Selenium2Library
| Library | RequestsLibrary

*** Variables ***
| ${TEST_PAGE} | http://the-internet.herokuapp.com/hovers
| ${BROWSER}   | chrome

*** Keywords ***
| Assert an image is visible
| | [Arguments] | ${element id}
| | [Documentation]
| | ... | This keyword fails if the given image element is not visible.
| | ... | Three checks are performed: that the element is on the page,
| | ... | that selenium thinks the element is visible, and that the
| | ... | src attribute of the image points to a resource that is
| | ... | accessible.
| |
| | # Step 1: verify the page contains the given element
| | Page should contain image | ${element id}
| |
| | # Step 2: verify that the element is visible
| | Element should be visible | ${element id}
| |
| | # Step 3: verify the src attribute of the image is accessible
| | ${img src}= | Get element attribute | ${element id}@src
| | Create session | img-src | ${img src}
| | ${response} | Get | img-src | / | # URL is relative to the session URL
| | Should be equal as integers | ${response.status_code} | 200
| | ... | image url "${img src}" returned unexpected status code "${response.status_code}"
| | ... | show_values=False

*** Test Cases ***
| Example of test to verify an image is visible
| | [Documentation]
| | ... | Verify that the first image on the test page is visible
| |
| | [Setup] | Open browser | ${TEST_PAGE} | ${BROWSER}
| | Assert an image is visible | //div[@class="figure"]/img
| | [Teardown] | Close All Browsers

उत्तर № 2 के लिए 1

तत्व दृश्य पहलू के अलावा, आप भी कर सकते हैंजावास्क्रिप्ट के माध्यम से जाँच करें कि छवि तत्व वास्तव में ब्राउज़र द्वारा प्रस्तुत किया गया है और कुछ लापता छवि आइकन नहीं दिखाया जा रहा है। या तो आप Selenium2Library का उपयोग करके जावास्क्रिप्ट को निष्पादित करते हैं या इसे अधिक पठनीय बनाने के लिए सेलेनियम 2Library जावास्क्रिप्ट कीवर्ड को कस्टम कीवर्ड में लपेटते हैं।

http://watirmelon.com/2012/11/27/checking-an-image-is-actually-visible-using-webdriver/


जवाब के लिए 0 № 3

जहाँ तक मुझे पता है कि कोई भी रोबोट फ्रेमवर्क लाइब्रेरी नहीं है जो यह परीक्षण करे कि एक छवि वास्तव में प्रदर्शित है। कुछ विकल्प हैं:

  1. रोबोट फ्रेमवर्क के साथ सिकुली को एकीकृत करने में देखो। वहाँ कुछ मार्गदर्शिकाएँ हैं जो आपको एकीकरण के साथ कदम दर कदम मार्गदर्शन करेंगी। एक बार जब आप सिचुली रोबोट फ्रेमवर्क के साथ काम कर रहे हों, तो अपनी छवि का स्क्रीनशॉट लें और उसकी तुलना बेस स्क्रीनशॉट से करें। मुझे लगता है कि यह आपका सबसे अच्छा विकल्प है।

  2. अन्य उपकरण हैं जो दृश्य छवि तुलना करते हैं। उदाहरण के लिए, सुई पाइथन में लिखा है, इसलिए यदि आपके पास कुछ पाइथन स्किल्स हैं, तो आप नीडल फंक्शनलिटी के आसपास लाइब्रेरी लिख सकते हैं।