ما هي تفاصيل Selenium برنامج تشغيل الويب؟
⚡ ملخص ذكي
Selenium WebDriver هو إطار عمل مفتوح المصدر لأتمتة العمليات، يتحكم في المتصفحات الحقيقية مباشرةً من خلال واجهات برمجة التطبيقات الأصلية، مما يتيح اختبار تطبيقات الويب بسرعة وموثوقية وعبر المتصفحات باستخدام لغات مثل Java, Python، سي شارب، وروبي.

ما هي تفاصيل Selenium برنامج تشغيل الويب؟
Selenium ويب درايفر هي مجموعة مفتوحة المصدر من واجهات برمجة التطبيقات (APIs) تُستخدم لأتمتة اختبار تطبيقات الويب. وهي تتحقق من أن تطبيق الويب يعمل كما هو متوقع عبر متصفحات متعددة، بما في ذلك متصفح Chrome. Firefoxسفاري Microsoft Edgeوإنترنت إكسبلورر. كما يدعم WebDriver اختبار التوافق مع مختلف المتصفحات على أنظمة تشغيل مختلفة.
الغاء الاعجاب Selenium تتيح لك بيئة التطوير المتكاملة (IDE) وبرنامج WebDriver استخدام لغة برمجة حقيقية لتصميم نصوص الاختبار، مما يمكنك من تطبيق منطق شرطي مثل if-then-else و switch-case، بالإضافة إلى البحثping بنى مثل for و do-while. يدعم WebDriver اللغات التالية:
- Java
- .NET (C#)
- PHP
- Python
- بيرل
- روبي
- Javaنص برمجي (عبر WebDriverJS / WebDriverIO)
لستَ بحاجةٍ إلى تعلّمها جميعاً، فإتقان واحدةٍ منها يكفي. تستخدم الأمثلة في هذا الدرس التعليمي Java مع الالجائزة Eclipse IDE
Archiبنية Selenium ويب درايفر
Selenium يتبع WebDriver بنية العميل والخادم ويتحكم في المتصفح مباشرةً من مستوى نظام التشغيل. لتشغيل أي برنامج نصي، ما عليك سوى استخدام بيئة التطوير المتكاملة (IDE) للغة البرمجة المفضلة لديك (التي تحتوي على...). Selenium الأوامر) ومتصفح مستهدف.
يتكون الإطار من أربعة مكونات رئيسية: Selenium مكتبات العميل (روابط اللغة)، وبروتوكول JSON Wire عبر HTTP، وبرامج تشغيل المتصفحات (مثل ChromeDriver وGeckoDriver)، والمتصفحات نفسها. يتواصل كل مكون عبر طلبات HTTP موحدة، وهو ما يمنح WebDriver مزايا السرعة والدقة الموضحة أدناه.
سرعة
WebDriver أسرع من Selenium تقنية RC لأنها تتواصل مباشرة مع المتصفح وتستخدم محرك المتصفح الأصلي للتحكم بها. لا يوجد وسيط. Javaخادم وكيل البرامج النصية، الذي يزيل عنق الزجاجة الرئيسي للأداء.
تفاعل واقع الحياة
يتفاعل WebDriver مع عناصر الصفحة كما يفعل المستخدم الحقيقي. على سبيل المثال، إذا كان لديك مربع نص معطل في صفحة قيد الاختبار، فلن يتمكن WebDriver من الكتابة فيه، لأن المستخدم الحقيقي لن يتمكن من ذلك أيضًا. هذه الواقعية تقلل من النتائج الإيجابية الخاطئة في نتائج الاختبار.
API
يوفر WebDriver واجهة برمجة تطبيقات نظيفة وبسيطة لا تحتوي على أوامر زائدة أو مربكة، مما يجعل قراءة نصوص الاختبار وصيانتها أسهل.
دعم المتصفح
يدعم WebDriver أيضًا متصفح HtmlUnit بدون واجهة رسومية. ولأن HtmlUnit لا يحتوي على واجهة رسومية، يُطلق عليه اسم "بدون واجهة رسومية" ويعمل في الخلفية دون أن يلاحظه أحد. وهذا يجعله سريعًا للغاية لتنفيذ الاختبارات نظرًا لعدم استهلاكه أي وقت للمعالجة، وهو مثالي لخطوط أنابيب التكامل المستمر/التسليم المستمر (CI/CD) حيث لا تتوفر واجهة رسومية.
كيفية Selenium خطوات عمل WebDriver
مع الأخذ في الاعتبار بنية النظام، إليك كيفية تنفيذ اختبار WebDriver النموذجي:
- اكتب نص الاختبار باللغة التي اخترتها باستخدام Selenium مكتبات العميل.
- تسلسل الأوامر—يقوم الربط بتحويل كل Selenium استدعاء طلب بروتوكول JSON Wire.
- إرسال إلى برنامج تشغيل المتصفح—يصل الطلب إلى برنامج التشغيل المحلي (ChromeDriver، GeckoDriver، EdgeDriver)، الذي يستمع على منفذ محلي.
- يُصدر برنامج التشغيل تعليمات للمتصفح باستخدام واجهة برمجة التطبيقات الأصلية الخاصة بها للأتمتة للنقر أو الكتابة أو قراءة العناصر.
- يقوم المتصفح بالتنفيذ والاستجابة، وإعادة النتيجة كحمولة JSON.
- التأكيد والإبلاغ—إطار عمل مثل TestNG, JUnitأو يقوم PyTest بالتحقق من صحة الاستجابة ويسجل نجاحها أو فشلها.
يمكن تشغيل نفس البرنامج النصي محليًا، أو داخل Docker، أو على شبكات بعيدة مثل Selenium الشبكة بدون تعديل.
Selenium WebDriver مقابل Selenium بيئة التطوير المتكاملة مقابل Selenium RC
الحق Selenium تعتمد الأداة على هدف الاختبار. يقارن الجدول أدناه بين الأدوات الثلاث:
| الميزات | Selenium IDE | Selenium RC | Selenium ويب درايفر |
|---|---|---|---|
| النوع | البرنامج المساعد للمتصفح | Javaخادم وكيل البرامج النصية | أتمتة واجهة برمجة التطبيقات الأصلية |
| سرعة | تشغيل سريع | بطيء | أسرع |
| اللغات | بدون سلوفان | متعدد | متعدد |
| متصفح بلا رأس | لا | لا | نعم |
| الحالة | محدود | معيار W3C |
بالنسبة للمشاريع الحديثة، يُعد WebDriver الخيار الموصى به - فهو معياري من قبل W3C، ويتم صيانته بنشاط، وهو الأوسع نطاقًا من حيث دعم اللغات والمتصفحات.
حدود برنامج WebDriver
على الرغم من قوة WebDriver، إلا أنه لا يخلو من بعض العيوب. معرفة حدوده تساعدك على تخطيط استراتيجية الأتمتة الخاصة بك بشكل واقعي.
لا يدعم برنامج WebDriver المتصفحات الجديدة كلياً بسهولة
نظرًا لأن WebDriver يعمل على مستوى نظام التشغيل، ولأن المتصفحات المختلفة تتواصل مع نظام التشغيل بطرق مختلفة، فقد يتطلب كل إصدار جديد من المتصفح تحديثًا لبرنامج التشغيل. يحتاج فريق WebDriver إلى وقت لدراسة آلية عمل المتصفح الجديد قبل إصدار برنامج تشغيل متوافق. وحتى ذلك الحين، قد تتصرف بعض الأوامر بشكل غير متسق أو تفشل تمامًا على المتصفح الجديد.
لا يوجد نظام مدمج لإعداد تقارير الاختبار
لا يقوم WebDriver نفسه بإنشاء تقارير نتائج الاختبار. يجب عليك دمجه مع إطار عمل لاختبار الوحدات (TestNG, JUnit(مثل NUnit أو PyTest) أو مكتبة إعداد التقارير (Allure أو ExtentReports) لالتقاط ملخصات النجاح/الفشل ولقطات الشاشة.

.jpg)




