isDisplayed (प्रदर्शित है)
चयनित DOM-एलिमेंट प्रदर्शित होने पर true वापस करता है (यहां तक कि जब एलिमेंट व्यूपोर्ट के बाहर हो)। यह निर्धारित करने के लिए ब्राउज़र द्वारा प्रदान किए गए checkVisibility
विधि का उपयोग करता है कि कोई एलिमेंट प्रदर्शित हो रहा है या नहीं। चूंकि WebdriverIO एक वास्तविक उपयोगकर्ता के रूप में कार्य करता है, contentVisibilityAuto
, opacityProperty
, और visibilityProperty
फ्लैग्स के लिए डिफ़ॉल्ट मान अधिक सख्त व्यवहार के लिए true
पर सेट होते हैं। इसका मतलब है कि कमांड यह जांच करेगा कि एलिमेंट अपने content-visibility
, opacity
, और visibility
गुणों के मान के कारण दिखाई दे रहा है या नहीं।
यदि आप यह भी सत्यापित करना चाहते हैं कि एलिमेंट व्यूपोर्ट के भीतर भी है, तो कमांड को withinViewport
फ्लैग प्रदान करें।
अन्य एलिमेंट कमांड के विपरीत WebdriverIO इस कमांड को निष्पादित करने के लिए एलिमेंट के मौजूद होने की प्रतीक्षा नहीं करेगा।
WebdriverIO, ब्राउज़र परीक्षण करते समय, एक कस्टम स्क्रिप्ट का उपयोग करता है जो विशेष रूप से एलिमेंट्स की दृश्यता का आकलन करने के लिए डिज़ाइन किया गया है। यह स्क्रिप्ट यह निर्धारित करने में महत्वपूर्ण है कि क्या कोई एलिमेंट पेज पर प्रदर्शित है। इसके विपरीत, Appium के साथ नेटिव मोबाइल परीक्षण परिदृश्यों के लिए, WebdriverIO Appium द्वारा प्रदान किए गए isElementDisplayed
कमांड पर निर्भर करता है। यह कमांड अंतर्निहित Appium ड्राइवर द्वारा स्थापित मानदंडों का उपयोग करके एलिमेंट्स की दृश्यता का मूल्यांकन करता है, जिससे मोबाइल एप्लिकेशन के लिए सटीक और ड्राइवर-विशिष्ट आकलन सुनिश्चित होता है।
उपयोग
$(selector).isDisplayed(withinViewport, contentVisibilityAuto, opacityProperty, visibilityProperty)
पैरामीटर्स
नाम | प्रकार | विवरण |
---|---|---|
withinViewport=false वैकल्पिक | Boolean | यह जांचने के लिए true कि एलिमेंट व्यूपोर्ट के भीतर है। डिफ़ॉल्ट रूप से false । |
contentVisibilityAuto=true वैकल्पिक | Boolean | यह जांचने के लिए true कि एलिमेंट का content-visibility गुण (या विरासत में मिला हुआ) मान auto है, और वर्तमान में यह अपनी रेंडरिंग को छोड़ रहा है। डिफ़ॉल्ट रूप से true । |
opacityProperty=true वैकल्पिक | Boolean | यह जांचने के लिए true कि एलिमेंट के opacity गुण (या विरासत में मिला हुआ) का मान 0 है। डिफ़ॉल्ट रूप से true । |
visibilityProperty=true वैकल्पिक | Boolean | यह जांचने के लिए true कि एलिमेंट अपने visibility गुण के मान के कारण अदृश्य है। डिफ़ॉल्ट रूप से true । |
उदाहरण
<div id="noSize"></div>
<div id="noSizeWithContent">Hello World!</div>
<div id="notDisplayed" style="width: 10px; height: 10px; display: none"></div>
<div id="notVisible" style="width: 10px; height: 10px; visibility: hidden"></div>
<div id="zeroOpacity" style="width: 10px; height: 10px; opacity: 0"></div>
<div id="notInViewport" style="width: 10px; height: 10px; position:fixed; top: 999999; left: 999999"></div>
it('should detect if an element is displayed', async () => {
elem = await $('#notExisting');
isDisplayed = await elem.isDisplayed();
console.log(isDisplayed); // outputs: false
let elem = await $('#noSize');
let isDisplayed = await elem.isDisplayed();
console.log(isDisplayed); // outputs: false
let elem = await $('#noSizeWithContent');
let isDisplayed = await elem.isDisplayed();
console.log(isDisplayed); // outputs: true
let elem = await $('#notDisplayed');
let isDisplayed = await elem.isDisplayed();
console.log(isDisplayed); // outputs: false
elem = await $('#notVisible');
isDisplayed = await elem.isDisplayed();
console.log(isDisplayed); // outputs: false
elem = await $('#zeroOpacity');
isDisplayed = await elem.isDisplayed();
console.log(isDisplayed); // outputs: false
elem = await $('#notInViewport');
isDisplayed = await elem.isDisplayed();
console.log(isDisplayed); // outputs: true
});
isDisplayedWithinViewport.js
it('should detect if an element is visible within the viewport', async () => {
let isDisplayedInViewport = await $('#notDisplayed').isDisplayed({ withinViewport: true });
console.log(isDisplayedInViewport); // outputs: false
isDisplayedInViewport = await $('#notVisible').isDisplayed({ withinViewport: true });
console.log(isDisplayedInViewport); // outputs: false
isDisplayedInViewport = await $('#notExisting').isDisplayed({ withinViewport: true });
console.log(isDisplayedInViewport); // outputs: false
isDisplayedInViewport = await $('#notInViewport').isDisplayed({ withinViewport: true });
console.log(isDisplayedInViewport); // outputs: false
isDisplayedInViewport = await $('#zeroOpacity').isDisplayed({ withinViewport: true });
console.log(isDisplayedInViewport); // outputs: false
});
रिटर्न्स
- <Boolean>
return
: यदि एलिमेंट प्रदर्शित होता है तो true