هندسة السيلينيوم WebDriver: المكونات والوظائف والقيود

نشرت: 2020-12-17

يعد اختبار النظام مهمة صعبة ، ولا يوجد شيء مثل الأداة التي تعمل على أتمتة ذلك. إحدى الأدوات التي تتبادر إلى الذهن لمختبري الأتمتة هي السيلينيوم. إذا كنت متشوقًا للتعرف على مهارات اختبار الأتمتة باستخدام Selenium WebDriver ، فقد وصلت إلى المكان الصحيح. هيا بنا نبدأ.

جدول المحتويات

ما هو السيلينيوم؟

السيلينيوم هو أداة اختبار أتمتة مفتوحة المصدر. تختبر الأداة فقط التطبيقات المستندة إلى الويب وهي متوافقة مع متصفحات وأنظمة تشغيل متعددة.

توجد ثلاثة إصدارات أساسية من السيلينيوم:

  • السيلينيوم أرسي
  • السيلينيوم IDE
  • شبكة السيلينيوم

تم إصدار كل هذه الإصدارات في عام 2007.

سيلينيوم ويب درايفر

حتى عام 2011 ، كان السيلينيوم آر سي يستخدم على نطاق واسع. في منتصف عام 2011 ، أصدرت السيلينيوم نسخة جديدة ، WebDriver 2.0. لم تكن ترقية إلى RC ولكنها أداة مختلفة تمامًا. كان الاختلاف هو أن Selenium WebDriver 2.0 له أوامره الخاصة. أحدث إصدار من Selenium WebDriver هو 3.14.

Selenium WebDriver WebDriver السيلينيوم

  • قادر على عمل نصوص ديناميكية.
  • متوافق مع متصفحات متعددة.
  • يولد التقارير والسجلات.
  • سريع ، حيث يتصل مباشرة بالمتصفح باستخدام محرك المتصفح.
  • تفاعل حقيقي بين عناصر الصفحة.
  • واجهة برمجة تطبيقات Selenium WebDriver أبسط بكثير ولا تحتوي على أوامر مربكة ومتكررة.
  • يمكن أن يدعم Selenium WebDriver متصفح HtmlUnit بدون رأس.

هناك خمسة مكونات لهندسة معمارية سيلينيوم WebDriver:

  1. Language Binding أو مكتبة عميل السيلينيوم: هذه هي ملفات Jar ، وهذه هي اللغة المستخدمة لكتابة إطار عمل السيلينيوم. تمت كتابة البرنامج النصي للسيلينيوم بلغات Java و C # و Ruby و Python و Perl.
  2. واجهة برمجة تطبيقات السيلينيوم (API): توفر واجهة برمجة التطبيقات مجموعة القواعد والمواصفات التي تلتزم بها أي لغة برمجية. من الضروري أيضًا التواصل مع البرامج الأخرى. باختصار ، تعمل API كواجهة بين البرامج وقنوات الاتصال AC.
  3. WebDriver البعيد: هو فئة تنفيذ واجهة WebDriver. يستخدم مطور البرنامج النصي للاختبار الفئة الموجودة على جهاز بعيد لتنفيذ البرنامج النصي للاختبار من خلال خادم WebDriver.
  4. بروتوكول JavaScript Object Notation (JSON) السلكي: JSON هو تنسيق خفيف الوزن قابل للتبديل بين البيانات لتسهيل تبادل البيانات. ينقل البيانات بين العميل والخادم على الويب. ملف JSON له الامتداد .json. يرسل بروتوكول JSON السلكي البيانات بتنسيق JSON. بعد ذلك ، يوزع الخادم البيانات وينفذها. بعد التنفيذ ، يعطي الخادم استجابة ويرسلها مرة أخرى إلى العميل بتنسيق JSON.
  5. WebDriver: WebDriver هي الأداة التي تعمل على أتمتة تطبيقات الويب وتتحقق من أنها تعمل على النحو المتوقع.

هندسة السيلينيوم WebDriver

سنركز الآن على Selenium WebDriver Architecture . تسهل واجهة برمجة تطبيقات Selenium WebDriver التفاعلات بين المتصفحات وبرامج تشغيل المستعرضات. تتكون العمارة من الطبقات الأربع التالية:

  • مكتبة عميل السيلينيوم
  • بروتوكول سلك JSON
  • برامج تشغيل المتصفح
  • المتصفحات

كيف يعمل السيلينيوم WebDriver داخليًا؟

تمت كتابة رمز Selenium WebDriver في Eclipse Integrated Development Environment (IDE). يستخدم أيًا من مكتبات عميل السيلينيوم مثل Java.

بمجرد أن يصبح البرنامج النصي جاهزًا ، انقر فوق "تشغيل " لتنفيذ البرنامج. بناءً على النص أعلاه ، سيتم تشغيل متصفح Chrome والانتقال إلى موقع SeleniumHQ.

استخدم الخطوات العامة التالية للبنية الداخلية للسيلينيوم WebDriver:

1. انقر فوق تشغيل .

تتواصل مكتبة عميل السيلينيوم مع واجهة برمجة تطبيقات السيلينيوم.

2. يرسل Selenium API أمر اللغة من مستوى الربط إلى برنامج تشغيل المتصفح.

يتم الاتصال عبر بروتوكول JSON السلكي.

3. يرسل Selenium API الطلب إلى برنامج تشغيل المتصفح.

يستخدم برنامج تشغيل المتصفح خادم HTTP للحصول على طلب HTTP.

4. يقوم خادم HTTP بتصفية جميع الأوامر اللازمة للتنفيذ.

يتم تنفيذ الأوامر الموجودة في البرنامج النصي Selenium على المستعرض.

5. يرسل خادم HTTP الاستجابة إلى نص اختبار الأتمتة.

المواصفات الفنية للسيلينيوم WebDriver

  • نظام التشغيل (OS) - Windows و Solaris و Linux و Mac OS
  • المستعرض المدعوم - Internet Explorer و Google Chrome 12.0.712.0 والإصدارات الأحدث و Safari و Opera 11.5 والإصدارات الأحدث و Mozilla Firefox و Internet Explorer و HtmlUnit 2.9 و Android و iOS

أفضل ميزات WebDriver السيلينيوم

  • دعم مستعرضات متعددة - يدعم جميع المتصفحات تقريبًا.
  • دعم متعدد اللغات - يدعم معظم لغات البرمجة الشائعة الاستخدام.
  • السرعة - يعد Selenium WebDriver أسرع مقارنة بالأدوات الأخرى في Selenium Suite.
  • أوامر بسيطة - يتم استخدام الأوامر الشائعة وتنفيذها في Selenium WebDriver بسهولة. على سبيل المثال ، لبدء تشغيل متصفح في Selenium WebDriver ، قم بتنفيذ الأمر التالي:
    • برنامج تشغيل WebDriver = FirefoxDriver () جديد ؛ (متصفح Firefox)
    • محرك WebDriver = new ChromeDriver () ؛ (متصفح كروم)
    • برنامج تشغيل WebDriver = InternetExplorerDriver () الجديد ؛ (متصفح إنترنت إكسبلورر)
  • الأساليب والفئات - السيلينيوم WebDriver لديه حلول متعددة لحل التحديات المحتملة في اختبار الأتمتة.

قراءة: أفكار ومواضيع لمشروع السيلينيوم

حدود سيلينيوم WebDriver

  • لا يدعم Selenium WebDriver المتصفحات الجديدة تلقائيًا

نظرًا لأن WebDriver يعمل على مستوى نظام التشغيل ، يتواصل كل متصفح مع نظام التشغيل بطرق متنوعة. لذلك ، بالنسبة لمتصفح جديد ، قد يكون الاتصال بنظام التشغيل مختلفًا ، مما يؤدي إلى مشكلة التوافق. سيتعين عليك تزويد فريق Selenium WebDriver الخاص بك ببعض الوقت لجعل المتصفح الجديد متوافقًا مع Selenium WebDriver .

  • لا يحتوي Selenium WebDriver على أمر مضمن لإنشاء ملف "نتائج الاختبار" تلقائيًا

يجب أن تعتمد على نافذة إخراج بيئة التطوير المتكاملة (IDE). يمكنك أيضًا تصميمه بنفسك باستخدام لغتك المفضلة وتخزينه كملف HTML أو كنص.

اقرأ أيضًا: راتب مطور السيلينيوم في الهند

قم بالتسجيل في دورات هندسة البرمجيات من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.

افكار اخيرة

  • Selenium WebDriver هي أداة تختبر تطبيقات الويب على متصفحات مختلفة.
  • يستخدم لغات برمجة مختلفة.
  • Selenium WebDriver هو نسخة مطورة من Selenium RC بسبب بنيته الأبسط.
  • يحتوي Selenium WebDriver على واجهة برمجة تطبيقات موجزة.

إذا كنت مهتمًا بمعرفة المزيد حول تطوير البرامج كاملة المكدس ، فراجع برنامج upGrad & IIIT-B's Executive PG في تطوير البرامج الكامل المكدس المصمم للمهنيين العاملين ويقدم أكثر من 500 ساعة من التدريب الصارم ، 9+ مشاريع ، والمهام ، وحالة خريجي IIIT-B ، ومشاريع التخرج العملية العملية والمساعدة في العمل مع الشركات الكبرى.

استعد لمهنة المستقبل

تقدم الآن للحصول على درجة الماجستير في هندسة البرمجيات