$
دستور $
روشی کوتاه و مفید برای دریافت یک عنصر منفرد در صفحه ا ست.
همچنین میتوانید یک شیء را به عنوان انتخابگر ارسال کنید که شامل یک ویژگی element-6066-11e4-a52e-4f735466cecf
با مقدار مرجعی به یک عنصر باشد. دستور سپس مرجع را به یک عنصر گسترشیافته WebdriverIO تبدیل میکند.
توجه: زنجیره کردن دستورات $
و $$
فقط زمانی منطقی است که از چندین استراتژی انتخابگر استفاده میکنید. در غیر این صورت
درخواستهای غیرضروری ارسال میکنید که آزمون را کند میکند (مثلاً $('body').$('div')
دو درخواست ارسال میکند در حالی که
$('body div')
دقیقاً همان کار را با فقط یک درخواست انجام میدهد)
توجه: فقط زمانی از این اشیاء عنصر استفاده کنید که مطمئن هستید هنوز در صفحه وجود دارند،
مثلاً با استفاده از دستور isExisting
. WebdriverIO قادر به بازیابی مجدد آنها نیست
زیرا هیچ اطلاعات انتخابگری در دسترس نیست.
با استفاده از wdio testrunner این دستور یک متغیر جهانی است، برای اطلاعات بیشتر به Globals
مراجعه کنید. هنگام استفاده از WebdriverIO در یک اسکریپت standalone،
این دستور در شیء مرورگر قرار میگیرد (مثلاً browser.$$
).
میتوانید $
یا $$
را بدون نیاز به قرار دادن دستورات فردی در await
به هم زنجیر کنید
تا در درخت DOM پایین بروید، به عنوان مثال:
const imageSrc = await $$('div')[1].nextElement().$$('img')[2].getAttribute('src')
برای اطلاعات بیشتر در مورد نحوه انتخاب عناصر خاص، راهنمای Selectors را مطالعه کنید.
استفاده
browser.$(selector)
پارامترها
نام | نوع | جزئیات |
---|---|---|
selector | String, Function, Matcher | انتخابگر، تابع JS، یا شیء Matcher برای دریافت یک عنصر خاص |
مثالها
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();
});