مطابقات مخصصة
يستخدم WebdriverIO مكتبة تأكيد expect
بأسلوب Jest والتي تأتي مع ميزات خاصة ومطابقات مخصصة محددة لتشغيل اختبارات الويب والجوال. على الرغم من أن مكتبة المطابقات كبيرة، إلا أنها بالتأكيد لا تناسب جميع المواقف المم كنة. لذلك، من الممكن توسيع المطابقات الموجودة بمطابقات مخصصة تحددها أنت.
في حين أنه لا يوجد حاليًا اختلاف في كيفية تعريف المطابقات الخاصة بكائن browser
أو نسخة element، فإن هذا قد يتغير بالتأكيد في المستقبل. تابع webdriverio/expect-webdriverio#1408
للحصول على مزيد من المعلومات حول هذا التطوير.
مطابقات المتصفح المخصصة
لتسجيل مطابق متصفح مخصص، استدعِ extend
على كائن expect
إما في ملف المواصفات الخاص بك مباشرةً أو كجزء من مثلاً تعليق before
في ملف wdio.conf.js
الخاص بك:
loading...
كما هو موضح في المثال، تأخذ دالة المطابقة الكائن المتوقع، مثل المتصفح أو كائن العنصر، كمعلمة أولى والقيمة المتوقعة كمعلمة ثانية. يمكنك بعد ذلك استخدام المطابق كما يلي:
loading...
مطابقات العناصر المخصصة
على غرار مطابقات المتصفح المخصصة، لا تختلف مطابقات العناصر. إليك مثالاً على كيفية إنشاء مطابق مخصص للتأكد من aria-label لعنصر:
loading...
هذا يسمح لك باستدعاء التأكيد كما يلي:
loading...
دعم TypeScript
إذا كنت تستخدم TypeScript، فهناك خطوة إضافية مطلوبة لضمان سلامة نوع المطابقات المخصصة الخاصة بك. من خلال توسيع واجهة Matcher
بمطابقاتك المخصصة، تختفي جميع مشكلات النوع:
loading...
إذا قمت بإنشاء مطابق غير متماثل مخصص، يمكنك بالمثل توسيع أنواع expect
كما يلي:
declare global {
namespace ExpectWebdriverIO {
interface AsymmetricMatchers {
myCustomMatcher(value: string): ExpectWebdriverIO.PartialMatcher;
}
}
}