بروتوكولات الأتمتة
مع WebdriverIO، يمكنك الاختيار بين تقنيات أتمتة متعددة عند تشغيل اختبارات E2E محليًا أو في السحابة. بشكل افتراضي، سيحاول WebdriverIO بدء جلسة أتمتة محلية باستخدام بروتوكول WebDriver Bidi.
بروتوكول WebDriver Bidi
WebDriver Bidi هو بروتوكول أتمتة لأتمتة المتصفحات باستخدام الاتصال ثنائي الاتجاه. إنه الخلف لبروتوكول WebDriver ويتيح قدرات فحص أكثر لحالات استخدام الاختبار المختلفة.
هذا البروتوكول قيد التطوير حاليًا وقد تتم إضافة عناصر أولية جديدة في المستقبل. التزم جميع مصنعي المتصفحات بتنفيذ معيار الويب هذا وقد تم بالفعل إضافة الكثير من العناصر الأولية في المتصفحات.
بروتوكول WebDriver
WebDriver هو واجهة للتحكم عن بعد تمكّن من فحص والتحكم في وكلاء المستخدم. يوفر بروتوكول سلكي محايد من حيث المنصة واللغة كوسيلة للبرامج خارج العملية لتوجيه سلوك متصفحات الويب عن بعد.
تم تصميم بروتوكول WebDriver لأتمتة المتصفح من منظور المستخدم، مما يعني أن كل ما يستطيع المستخدم القيام به، يمكنك القيام به مع المتصفح. يوفر مجموعة من الأوامر التي تجرد التفاعلات الشائعة مع التطبيق (على سبيل المثال، التنقل، النقر، أو قراءة حالة عنصر). بما أنه معيار ويب، فهو مدعوم جيدًا عبر جميع مصنعي المتصفحات الرئيسيين ويتم استخدامه أيضًا كبروتوكول أساسي لأتمتة الجوال باستخدام Appium.
لاستخدام بروتوكول الأتمتة هذا، تحتاج إلى خادم وسيط يترجم جميع الأوامر وينفذها في البيئة المستهدفة (أي المتصفح أو تطبيق الجوال).
بالنسبة لأتمتة المتصفح، يكون الخادم الوسيط عادةً هو سائق المتصفح. تتوفر سائقين لجميع المتصفحات:
- Chrome – ChromeDriver
- Firefox – Geckodriver
- Microsoft Edge – Edge Driver
- Internet Explorer – InternetExplorerDriver
- Safari – SafariDriver
لأي نوع من أتمتة الجوال، ستحتاج إلى تثبيت وإعداد Appium. سيسمح لك بأتمتة تطبيقات الجوال (iOS/Android) أو حتى تطبيقات سطح المكتب (macOS/Windows) باستخدام نفس إعداد WebdriverIO.
هناك أيضًا الكثير من الخدمات التي تسمح لك بتشغيل اختبار الأتمتة الخاص بك في السحابة بمقياس كبير. بدلاً من الاضطرار إلى إعداد جميع هذه السائقين محليًا، يمكنك التحدث إلى هذه الخدمات (مثل Sauce Labs) في السحابة وفحص النتائج على منصتهم. سيكون الاتصال بين نص الاختبار وبيئة الأتمتة كما يلي: