$
$
कमांड पृष्ठ पर एक एकल तत्व को प्राप्त करने के लिए एक छोटा और उपयोगी तरीका है।
आप एक ऑब्जेक्ट को भी सेलेक्टर के रूप में पास कर सकते हैं जिसमें element-6066-11e4-a52e-4f735466cecf
नामक एक प्रॉपर्टी होती है
जिसका मान एक तत्व के संदर्भ के रूप में होता है। कमांड फिर संदर्भ को एक विस्तारित WebdriverIO तत्व में परिवर्तित कर देगा।
नोट: $
और $$
कमांड्स को चेन करना केवल तभी समझ में आता है जब आप कई सेलेक्टर रणनीतियों का उपयोग करते हैं। अन्यथा आप
अनावश्यक अनुरोध करेंगे जो परीक्षण को धीमा कर देंगे (जैसे $('body').$('div')
दो अनुरोध ट्रिगर करेगा जबकि
$('body div')
वास्तव में एक ही अनुरोध के साथ वही काम करता है)
नोट: इन तत्व ऑब्जेक्ट्स का उपयोग केवल तभी करें जब आप निश्चित हों कि वे अभी भी
पृष्ठ पर मौजूद हैं, जैसे isExisting
कमांड का उपयोग करके। WebdriverIO उन्हें फिर से प्राप्त करने में असमर्थ है
क्योंकि कोई सेलेक्टर जानकारी उपलब्ध नहीं है।
wdio टेस्टरनर का उपयोग करते हुए यह कमांड एक ग्लोबल वेरिएबल है, अधिक जानकारी के लिए Globals
देखें। स्टैंडअलोन स्क्रिप्ट के भीतर WebdriverIO का उपयोग करते समय
यह ब्राउज़र ऑब्जेक्ट पर स्थित होगा (जैसे browser.$$
)।
आप DOM ट्री में नीचे जाने के लिए व्यक्तिगत कमांड्स को await
में लपेटे बिना $
या $$
को एक साथ चेन कर सकते हैं, उदाहरण के लिए:
const imageSrc = await $$('div')[1].nextElement().$$('img')[2].getAttribute('src')
विशिष्ट तत्वों का चयन कैसे करें, इस पर अधिक जानकारी के लिए, Selectors गाइड देखें।
उपयोग
browser.$(selector)
पैरामीटर्स
नाम | प्रकार | विवरण |
---|---|---|
selector | String, Function, Matcher | एक निश्चित तत्व को प्राप्त करने के लिए सेलेक्टर, JS फंक्शन, या मैचर ऑब्जेक्ट |
उदाहरण
loading...
loading...
loading...
loading...
it('should use Androids DataMatcher or ViewMatcher selector', async () => {
const menuItem = await $({
"name": "hasEntry",
"args": ["title", "ViewTitle"],
"class": "androidx.test.espresso.matcher.ViewMatchers"
});
await menuItem.click();
const menuItem = await $({
"name": "hasEntry",
"args": ["title", "ViewTitle"]
});
await menuItem.click();
});
रिटर्न्स
- <WebdriverIO.Element>