أنواع الإعداد
يمكن استخدام WebdriverIO لأغراض متنوعة. فهو ينفذ واجهة برمجة تطبيقات بروتوكول WebDriver ويمكنه تشغ يل المتصفح بطريقة آلية. تم تصميم الإطار للعمل في أي بيئة عشوائية ولأي نوع من المهام. وهو مستقل عن أي أطر عمل خارجية ويتطلب فقط Node.js للتشغيل.
ربط البروتوكول
للتفاعلات الأساسية مع WebDriver وبروتوكولات الأتمتة الأخرى، يستخدم WebdriverIO روابط البروتوكول الخاصة به بناءً على حزمة NPM webdriver
:
- WebDriver
- Chrome DevTools
loading...
loading...
جميع أوامر البروتوكول تعيد الاستجابة الخام من برنامج تشغيل الأتمتة. الحزمة خفيفة جدًا وليس هناك منطق ذكي مثل الانتظار التلقائي لتبسيط التفاعل مع استخدام البروتوكول.
تعتمد أوامر البروتوكول المطبقة على المثيل على استجابة الجلسة الأولية لبرنامج التشغيل. على سبيل المثال، إذا أشارت الاستجابة إلى أنه تم بدء جلسة جوال، فإن الحزمة تطبق جميع أوامر بروتوكول Appium و Mobile JSON Wire على نموذج المثيل.
يمكنك تشغيل نفس مجموعة الأوامر (باستثناء أوامر الجوال) باستخدام بروتوكول Chrome DevTools عند استيراد حزمة NPM devtools
. لديها نفس واجهة حزمة webdriver
ولكنها تعمل على الأتمتة بناءً على Puppeteer.
لمزيد من المعلومات حول واجهات هذه الحزم، راجع واجهة برمجة الوحدات.
الوضع المستقل
لتبسيط التفاعل مع بروتوكول WebDriver، تنفذ حزمة webdriverio
مجموعة متنوعة من الأوامر فوق البروتوكول (مثل أمر dragAndDrop
) ومفاهيم أساسية مثل المحددات الذكية أو الانتظار التلقائي. يمكن تبسيط المثال من أعلاه على النحو التالي:
loading...
إن استخدام WebdriverIO في الوضع المستقل لا يزال يتيح لك الوصول إلى جميع أوامر البروتوكول ولكنه يوفر مجموعة فائقة من الأوامر الإضافية التي توفر تفاعلاً ذا مستوى أعلى مع المتصفح. يسمح لك بدمج أداة الأتمتة هذه في مشروع (اختبار) خاص بك لإنشاء مكتبة أتمتة جديدة. تشمل الأمثلة الشائعة Oxygen أو CodeceptJS. يمكنك أيضًا كتابة نصوص Node عادية لاستخراج المحتوى من الويب (أو أي شيء آخر يتطلب متصفحًا قيد التشغيل).
إذا لم يتم تعيين خيارات محددة، فسيحاول WebdriverIO دائمًا تنزيل وإعداد برنامج تشغيل المتصفح الذي يتطابق مع خاصية browserName
في قدراتك. في حالة Chrome و Firefox، قد يقوم أيضًا بتثبيتهما اعتمادًا على ما إذا كان بإمكانه العثور على المتصفح المقابل على الجهاز.
لمزيد من المعلومات حول واجهات حزمة webdriverio
، راجع واجهة برمجة الوحدات.
منفذ الاختبار WDIO
الغرض الرئيسي من WebdriverIO، مع ذلك، هو اختبار من طرف إلى طرف على نطاق واس ع. لذلك قمنا بتنفيذ منفذ اختبار يساعدك على بناء مجموعة اختبار موثوقة يسهل قراءتها وصيانتها.
يهتم منفذ الاختبار بالعديد من المشكلات الشائعة عند العمل مع مكتبات الأتمتة العادية. من ناحية، فهو ينظم عمليات تشغيل الاختبار ويقسم مواصفات الاختبار بحيث يمكن تنفيذ اختباراتك بأقصى قدر من التزامن. كما أنه يتعامل مع إدارة الجلسات ويوفر الكثير من الميزات لمساعدتك في تصحيح المشكلات والعثور على الأخطاء في اختباراتك.
هنا نفس المثال من أعلاه، مكتوب كمواصفة اختبار وتم تنفيذه بواسطة WDIO:
loading...
منفذ الاختبار هو تجريد لأطر الاختبار الشائعة مثل Mocha أو Jasmine أو Cucumber. لتشغيل اختباراتك باستخدام منفذ اختبار WDIO، راجع قسم البدء لمزيد من المعلومات.
لمزيد من المعلومات حول واجهة حزمة منفذ اختبار @wdio/cli
، راجع واجهة برمجة الوحدات.