لماذا Webdriver.IO؟
WebdriverIO هو إطار عمل تدريجي للأتمتة تم بناؤه لأتمتة تطبيقات الويب والتطبيقات المحمولة الحديثة. يُبسط التفاعل مع تطبيقك ويوفر مجموعة من الإضافات التي تساعدك في إنشاء مجموعة اختبارات قابلة للتطوير وقوية ومستقرة.
تم تصميمه ليكون:
- قابل للتوسيع - إضافة وظائف مساعدة، أو مجموعات أكثر تعقيدًا وتركيبات من الأوامر الموجودة أمر بسيط و مفيد للغاية
- متوافق - يمكن تشغيل WebdriverIO على بروتوكول WebDriver لإجراء اختبار حقيقي متعدد المتصفحات وكذلك بروتوكول Chrome DevTools للأتمتة المعتمدة على Chromium باستخدام Puppeteer.
- غني بالميزات - المجموعة الهائلة من الإضافات المدمجة وإضافات المجتمع تسمح لك بالتكامل بسهولة و توسيع إعدادك لتلبية متطلباتك.
يمكنك استخدام WebdriverIO لأتمتة:
- 🌐 تطبيقات الويب الحديثة المكتوبة بـ React أو Vue أو Angular أو Svelte أو أطر عمل واجهة المستخدم الأخرى
- 📱 تطبيقات المحمول الهجينة أو الأصلية التي تعمل في محاكي أو على جهاز حقيقي
- 💻 تطبيقات سطح المكتب الأصلية (مثل المكتوبة بـ Electron.js)
- 📦 اختبار الوحدة أو المكون لمكونات الويب في المتصفح
يعتمد على معايير الويب
يستفيد WebdriverIO من قوة بروتوكول WebDriver و WebDriver-BiDi الذي تم تطويره ودعمه من قِبل جميع مزودي المتصفحات ويضمن تجربة اختبار حقيقية عبر المتصفحات المختلفة. بينما تتطلب أدوات الأتمتة الأخرى منك تنزيل محركات متصفح معدلة لا يستخدمها المستخدمون الفعليون أو محاكاة سلوك المستخدم عن طريق حقن JavaScript، يعتمد WebdriverIO على معيار متفق عليه عالميًا للأتمتة تم اختباره بشكل صحيح ويضمن التوافق لعقود قادمة.
علاوة على ذلك، يدعم WebdriverIO أيضًا بروتوكولات أتمتة بديلة وملكية مثل Chrome DevTools لأغراض التصحيح والفحص. يسمح هذا للمستخدم بالتبديل بسلاسة بين الأوامر التقليدية المعتمدة على WebDriver وتفاعلات المتصفح القوية من خلال Puppeteer.
اقرأ المزيد عن الاختلافات بين هذه المعايير الآلية في قسم بروتوكولات الأتمتة.
مفتوح المصدر حقًا
مقارنةً بالعديد من أدوات الأتمتة في النظام البيئي، يُعد WebdriverIO مشروعًا مفتوح المصدر حقًا يُدار بحوكمة مفتوحة ومملوك لكيان غير ربحي يسمى OpenJS Foundation. هذا يُلزم المشروع قانونيًا بالنمو والتوجه وفقًا لمصالح جميع المشاركين. يُقدر فريق المشروع الانفتاح والتعاون وليس مدفوعًا بالمصالح المالية.
هذا يجعل المشروع مستقلاً في كيفية تطويره وإلى أين يفترض أن يذهب. يسمح لنا بتقديم دعم مجاني على مدار الساعة طوال أيام الأسبوع في قناة مجتمعنا بينما نبني مجتمعًا مستدامًا يدعم ويتعلم من بعضه البعض. أخيرًا، يمنح الكثير من الفرص للأشخاص الذين يساهمون ويشاركون في المشروع بسبب حوكمته المفتوحة.