$
الأمر $
هو طريقة مختصرة ومريحة لجلب عنصر واحد من الصفحة.
يمكنك أيضًا تمرير كائن كمحدد حيث يحتوي الكائن على خاصية element-6066-11e4-a52e-4f735466cecf
مع قيمة مرجعية لعنصر. سيقوم الأمر بعد ذلك بتحويل المرجع إلى عنصر WebdriverIO موسع.
ملاحظة: سلسلة أوامر $
و $$
لها معنى فقط عندما تستخدم استراتيجيات محددات متعددة. وإلا ستقوم
بعمل طلبات غير ضرورية تبطئ الاختبار (على سبيل المثال، $('body').$('div')
سيؤدي إلى طلبين في حين أن
$('body div')
يفعل حرفيًا نفس الشيء مع طلب واحد فقط)
ملاحظة: استخدم كائنات العناصر هذه فقط إذا كنت متأكدًا من أنها لا تزال موجودة في
الصفحة، على سبيل المثال باستخدام أمر isExisting
. لا يمكن لـ WebdriverIO إعادة جلبها نظرًا
لعدم توفر معلومات المحدد.
عند استخدام وضع الاختبار wdio يكون هذا الأمر متغيرًا عامًا، انظر Globals
لمزيد من المعلومات. عند استخدام WebdriverIO ضمن نص مستقل
سيكون موجودًا على كائن المتصفح بدلاً من ذلك (على سبيل المثال browser.$$
).
يمكنك ربط $
أو $$
معًا دون تغليف الأوامر الفردية في await
من أجل
التنقل لأسفل شجرة DOM، على سبيل المثال:
const imageSrc = await $$('div')[1].nextElement().$$('img')[2].getAttribute('src')
لمزيد من المعلومات حول كيفية تحديد عناصر معينة، راجع دليل المحددات.
الاستخدام
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>