ما هي تفاصيل Selenium؟ مقدمة البرنامج التعليمي
⚡ ملخص ذكي
Selenium إطار عمل اختبار آلي مجاني ومفتوح المصدر، مصمم للتحقق من صحة تطبيقات الويب عبر المتصفحات والمنصات باستخدام لغات برمجة متعددة. يُمكّن هذا الإطار من أتمتة اختبارات قوية وفعالة وقابلة للتطوير لممارسات ضمان الجودة الحديثة.

ما هي تفاصيل Selenium?
Selenium هو إطار اختبار آلي مجاني (مفتوح المصدر) يستخدم للتحقق من صحة تطبيقات الويب عبر متصفحات ومنصات مختلفة. يمكنك استخدام لغات برمجة متعددة مثل Java، C #، Pythonالخ لخلق Selenium مخطوطات الاختبار. تم الاختبار باستخدام Selenium يُشار عادةً إلى أداة الاختبار باسم Selenium الاختبار.
رؤى الخبراء
تجنب استخدام تأخيرات السكون الثابتة في اختباراتك. استخدم بدلاً من ذلك فترات انتظار صريحة (مثل WebDriverWait) لانتظار تحميل العناصر. هذا يجعل نصوصك البرمجية أكثر موثوقية وسرعة، حيث تستجيب ديناميكيًا لظروف الصفحة الفعلية - وهي ممارسة أساسية للطلاب في كل مكان، بدءًا من Selenium".
👉 سجل مجانًا للبث المباشر Selenium مشروع الاختبار
Selenium مجموعة الأدوات
Selenium البرمجيات ليست مجرد أداة واحدة، بل هي مجموعة من البرامج، كل قطعة تلبي احتياجات مختلفة Selenium احتياجات اختبار ضمان الجودة للمنظمة. هنا قائمة الأدوات
- Selenium بيئة التطوير المتكاملة (IDE)
- Selenium جهاز التحكم عن بعد (أرسي)
- ويب درايفر
- Selenium شبكة
في هذه اللحظة، Selenium يتم دمج RC وWebDriver في إطار عمل واحد لتشكيله Selenium 2. Selenium 1، بالمناسبة، يشير إلى Selenium RC.
فيديو تعليمي Selenium
انقر اضغط هنا إذا لم يكن من الممكن الوصول إلى الفيديو
الذي طور Selenium?
منذ Selenium عبارة عن مجموعة من الأدوات المختلفة، كما أنها تحتوي على مطورين مختلفين. فيما يلي الأشخاص الرئيسيون الذين قدموا مساهمات ملحوظة في Selenium مشروع
في المقام الأول، Selenium وكان أنشأه جيسون هوجينز في عام 2004كان مهندسًا في شركة ThoughtWorks، وكان يعمل على تطبيق ويب يتطلب اختبارات متكررة. وبعد أن أدرك أن الاختبارات اليدوية المتكررة للتطبيق أصبحت أقل فعالية، أنشأ Javaسيناريو برنامج يتحكم تلقائيًا في تصرفات المتصفح. أطلق على هذا البرنامج اسم "Java"ScriptTestRunner."
نظرًا لإمكانات هذه الفكرة في المساعدة في أتمتة تطبيقات الويب الأخرى، فقد قام بذلك JavaScriptRunner مفتوح المصدر، والذي تمت إعادة تسميته لاحقًا Selenium جوهر. بالنسبة للمهتمين باستكشاف الخيارات الأخرى لاختبار تطبيقات الويب، قم بإلقاء نظرة على هذه الخيارات Selenium بالبدائل.
نفس مشكلة سياسة المنشأ
نفس سياسة الأصل تحظر Javaكود البرنامج النصي من الوصول إلى العناصر من مجال مختلف عن المكان الذي تم إطلاقه فيه. على سبيل المثال، يستخدم كود HTML في www.google.com Javaبرنامج نصي "randomScript.js". سياسة المصدر نفسها تسمح فقط لبرنامج randomScript.js بالوصول إلى صفحات ضمن google.com، مثل google.com/mail أو google.com/login أو google.com/signup. ومع ذلك، لا يمكنه الوصول إلى صفحات من مواقع مختلفة مثل yahoo.com/search أو guru99.com لأنها تنتمي إلى نطاقات مختلفة.
وهذا هو السبب، قبل Selenium RC، يحتاج المختبرون إلى تثبيت نسخ محلية من كليهما Selenium جوهر (أ Javaبرنامج نصي) وخادم الويب الذي يحتوي على تطبيق الويب الذي يتم اختباره، وبالتالي فإنهما ينتميان إلى نفس المجال
ولادة Selenium جهاز التحكم (Selenium أرسي)
لسوء الحظ، يستخدم المختبرون Selenium كان على Core تثبيت التطبيق بأكمله قيد الاختبار وخادم الويب على أجهزة الكمبيوتر المحلية الخاصة به بسبب القيود التي يفرضها سياسة المنشأ نفسه. لذا فإن مهندس آخر من ThoughtWorks، بول هامانتقرر إنشاء خادم يعمل كوكيل HTTP "لخداع" المتصفح ليصدق ذلك Selenium يأتي Core وتطبيق الويب الذي يتم اختباره من نفس المجال. أصبح هذا النظام يعرف باسم Selenium جهاز التحكم or Selenium 1.
ولادة Selenium شبكة
Selenium تم تطوير الشبكة بواسطة باتريك لايت بودي لتلبية الحاجة إلى تقليل أوقات تنفيذ الاختبار قدر الإمكان. في البداية، أطلق على النظام اسم "استضافة ضمان الجودة." كان قادرًا على التقاط لقطات شاشة للمتصفح أثناء المراحل المهمة، وأيضًا إرسال Selenium إرسال الأوامر إلى أجهزة مختلفة في وقت واحد.
ولادة Selenium IDE
شينيا كاساتاني خلقت اليابان Selenium IDEأو المعلم Firefox وإضافة كروم تُمكّن من أتمتة المتصفح من خلال ميزة التسجيل والتشغيل. وقد ابتكر هذه الفكرة لزيادة سرعة إنشاء حالات الاختبار. وقد تبرع Selenium IDE إلى Selenium مشروع في 2006.
ولادة WebDriver
سيمون ستيوارت تم إنشاء WebDriver حوالي 2006 عندما أصبحت المتصفحات وتطبيقات الويب أكثر قوة وأكثر تقييدًا مع Javaبرامج نصية مثل Selenium النواة. كان أول إطار عمل للاختبار عبر الأنظمة الأساسية يمكنه التحكم في المتصفح على مستوى نظام التشغيل.
ولادة Selenium 2
In 2008، وكلها Selenium قرر الفريق دمج WebDriver و Selenium RC لتشكيل أداة أكثر قوة تسمى Selenium 2، مع WebDriver هو جوهر. حاليا، Selenium لا يزال RC قيد التطوير، ولكن في وضع الصيانة فقط. معظم Selenium وتتركز جهود المشروع الآن على Selenium 2.
فلماذا الاسم Selenium?
الاسم Selenium جاءت من نكتة قالها جيسون لفريقه ذات مرة. خلال Seleniumتطوير، آخر اختبار آلي تم تصنيع الإطار بشكل شائع بواسطة شركة تسمى Mercury تفاعلي (نعم، الشركة التي صنعت في الأصل QTP قبل أن تستحوذ عليها شركة HP). منذ ذلك الحين Selenium هو ترياق معروف ل Mercury التسمم، اقترح جيسون هذا الاسم وأخذه زملاؤه. إذن هذه هي الطريقة التي نطلق بها على هذا الإطار حتى الوقت الحاضر.
ما هي تفاصيل Selenium IDE؟
Selenium بيئة التطوير المتكاملة (IDE) هي أبسط إطار في Selenium جناح وهو أسهل واحد للتعلم. بل هو كروم و Firefox المساعد التي يمكنك تثبيتها بسهولة قدر الإمكان مع المكونات الإضافية الأخرى. ولكن بسبب بساطته، Selenium يجب استخدام IDE فقط كـ النموذج الأوليping أداة. إذا كنت تريد إنشاء حالات اختبار أكثر تقدمًا، فستحتاج إلى استخدام أي منهما Selenium RC أو WebDriver.
ما هي تفاصيل Selenium جهاز التحكم (Selenium RC)؟
Selenium كان RC هو إطار الاختبار الرئيسي من الكل Selenium المشروع لفترة طويلة. هذا هو أول الآلي اختبار الويب أداة ذلك يسمح للمستخدمين باستخدام لغة البرمجة التي يفضلونهااعتبارًا من الإصدار 2.25.0، يمكن لـ RC دعم لغات البرمجة التالية:
ما هو برنامج تشغيل الويب؟
يثبت WebDriver أنه أفضل من Selenium بيئة تطوير متكاملة و Selenium RC في جوانب عديدة. إنه يطبق نهجًا أكثر حداثة واستقرارًا في أتمتة إجراءات المتصفح. WebDriver، على عكس Selenium RC، لا يعتمد على Javaالبرنامج النصي لـ Selenium اختبار الأتمتة. يتحكم في المتصفح من خلال التواصل المباشر معه.
اللغات المدعومة هي نفسها الموجودة في Selenium RC.
- Java
- C#
- PHP
- Python
- بيرل
- روبي
ما هي تفاصيل Selenium شبكة؟
Selenium الشبكة هي أداة تستخدم مع Selenium RC للتشغيل اختبارات موازية عبر أجهزة مختلفة ومتصفحات مختلفة في نفس الوقت. التنفيذ الموازي يعني إجراء اختبارات متعددة في وقت واحد.
المميزات:
- تمكن تشغيل الاختبارات في وقت واحد in متصفحات وبيئات متعددة.
- يوفر الوقت بشكل كبير.
- يستخدم المحور والعقد مفهوم. يعمل المحور كمصدر مركزي لل Selenium أوامر لكل عقدة متصلة بها.
Selenium دعم المتصفح والبيئة
بسبب اختلافاتهم المعمارية، Selenium SDI ، Selenium يدعم RC وWebDriver مجموعات مختلفة من المتصفحات وبيئات التشغيل.
| Selenium IDE | ويب درايفر | |
|---|---|---|
| دعم المتصفح | موزيلا Firefox والكروم | Google Chrome 12+ Firefox إنترنت إكسبلورر 7+ والحافة رحلات السفاري، htmlUnit وPhantomUnit |
| نظام التشغيل | Windows، ماك أو إس إكس، لينكس | جميع أنظمة التشغيل التي يمكن تشغيل المتصفحات المذكورة أعلاه عليها. |
ملاحظة: Opera السائق لم يعد يعمل
كيفية اختيار الحق Selenium أداة لتلبية احتياجاتك
| أداة | لماذا الاختيار؟ |
|---|---|
| Selenium IDE |
|
| Selenium RC |
|
| ويب درايفر |
|
| Selenium شبكة |
|
دراسات حالة في العالم الحقيقي
🔍 دراسة الحالة 1: التوافق بين المتصفحات المختلفة للوحة معلومات SaaS
سيناريو
كانت إحدى شركات البرمجيات كخدمة تستعد لإصدار لوحة معلومات تحليلية تحتاج إلى العمل بشكل متسق عبر المتصفحات الحديثة (Chrome، Firefox، Edge، Safari).
التحدي
كان الاختبار اليدوي على كل متصفح يستغرق وقتًا طويلاً، وعرضة للأخطاء، ولا يمكنه مواكبة تكرارات التطوير السريعة.
الحل مع Selenium
قام مهندس ضمان الجودة بإنشاء Selenium شبكة تم الإعداد لتنفيذ مجموعة الاختبارات نفسها في وقت واحد عبر متصفحات وأنظمة تشغيل متعددة. تم تأليف الاختبارات في Python استخدام Selenium WebDriver لإجراءات مثل تسجيل الدخول وتصفية المخططات وتصدير البيانات.
نتيجة
- تم تقليل مدة الانحدار بنسبة 80%.
- تم اكتشاف أخطاء عرض خاصة بالمتصفح في وقت مبكر (على سبيل المثال، الرسوم البيانية غير المحاذاة في IE).
- تم الحفاظ على تجربة مستخدم متسقة في لوحة التحكم عبر مصفوفة المتصفح دون دورات يدوية إضافية.
⚙️ دراسة الحالة 2: تكامل CI/CD لتطبيق الويب عبر Selenium + TestNG
سيناريو
تعتمد شركة تطوير مواقع ويب متوسطة الحجم على خط أنابيب التكامل المستمر/التسليم المستمر (CI/CD) باستخدام Jenkinsكان عليهم التأكد من أن مسارات المستخدم الأساسية تعمل بعد كل تغيير في الكود.
التحدي
أحيانًا ما تتسبب عمليات نشر الإصدارات الجديدة في تعطيل مسارات المستخدم - تسجيل الدخول، إرسال النماذج - escaping الكشف حتى نهاية اليوم، والاختبار اليدوي.
الحل مع Selenium
قام أحد المختبرين بتنفيذ Javaومقرها Selenium مجموعة WebDriver متكاملة مع TestNGشملت الاختبارات التحقق من الهوية، وتحديثات الملف الشخصي، ووظائف البحث. وقد تم تشغيل هذه الاختبارات على كل Jenkins بناء، مع الاستفادة من التنفيذ المتوازي وتخصيص معلمات المتصفح.
نتيجة
- تم تحقيق ردود الفعل السريعة: تم وضع علامة على التدفقات المكسورة على الفور.
- تم تقليل الأخطاء بعد النشر بنسبة تزيد عن 60%.
- تمكين المطورين من معالجة المشكلات قبل وصولها إلى مرحلة ضمان الجودة.
🚀 دراسة الحالة 3: تسريع إصدار الميزات لمجمع السفر
سيناريو
احتاجت منصة تجميع رحلات إلى إصدار ميزة مُحسّنة لحجز الرحلات الجوية. استغرقت اختبارات الانحدار اليدوية لأكثر من عشر صفحات أيامًا، مما أدى إلى حظر الإصدار.
التحدي
إن الضغوط الرامية إلى تقليل وقت طرح المنتج في السوق لا يمكن أن تتفوق على دورات الاختبار اليدوية، مما ينطوي على مخاطر التأخير أو انخفاض الجودة.
الحل مع Selenium &نموذج كائن الصفحة
قدم أحد قادة أتمتة ضمان الجودة بنية نموذج كائن الصفحة (POM) بلغة C#. Selenium تضمّنت نصوص WebDriver عناصر الصفحة وإجراءاتها (البحث عن الرحلات، وتطبيق الفلاتر، وحالات الدفع). تم تشغيل اختبارات آلية كل ليلة على GitLab CI.
نتيجة
- تم تخفيض وقت الاختبار من 3 أيام إلى 4 ساعات فقط.
- يؤدي إعادة استخدام البرنامج النصي عبر ميزات متعددة إلى تقليل جهد البرمجة النصية بنسبة 50%.
- تم تعزيز الثقة: تم إصدار الإصدار في الموعد المحدد مع الحد الأدنى من تقارير الأخطاء.
مشترك Selenium التحديات (والإصلاحات)
رغم أن Selenium رغم قوة النظام، يواجه المُختبرون غالبًا تحديات قد تؤثر على الموثوقية والسرعة. إليك بعض التحديات الشائعة وكيفية إصلاحها:
- الاختبارات المتقشرة:
قد تفشل الاختبارات بشكل عشوائي بسبب مشاكل التوقيت أو الشبكة.
إصلاح: استخدم الانتظارات الصريحة ومحددات المواقع المستقرة؛ وتجنبThread.sleep(). - عناصر الويب الديناميكية:
يؤدي تغيير معرفات العناصر أو XPaths إلى حدوث أخطاء عدم العثور على العنصر.
إصلاح: استخدم XPaths النسبية، أو محددات CSS، أو معالجة السمات الديناميكية. - Syncقضايا التأريخ:
يتم تحميل العناصر بشكل أبطأ من تنفيذ البرنامج النصي.
إصلاح: تنفيذ WebDriverWait مع الظروف المتوقعة. - التناقضات بين المتصفحات:
تتصرف الاختبارات بشكل مختلف على Chrome، Firefox، أو الحافة.
إصلاح: تشغيل الاختبارات على Selenium منصات الشبكة أو السحابة للتحقق عبر المتصفحات. - التعامل مع النوافذ المنبثقة والتنبيهات:
قد تؤدي النوافذ المنبثقة غير المتوقعة إلى مقاطعة تدفق الاختبار.
إصلاح: استعمل Seleniumواجهة التنبيه أو كتل try–catch للتعامل معها بسلاسة. - تكاليف صيانة الاختبار:
تؤدي التغييرات المتكررة في واجهة المستخدم إلى جعل الاختبارات هشة.
إصلاح: استخدم نموذج كائن الصفحة (POM) والتحكم في الإصدار لتسهيل التحديثات. - تحديات الاندماج:
قد تفشل خطوط أنابيب CI/CD بسبب مشكلات في برنامج التشغيل.
إصلاح: استعمل Selenium مدير (Selenium 4+) أو WebDriver Manager لإدارة برامج التشغيل تلقائيًا.
باختصار: معظم Selenium وتنشأ المشاكل من ضعف المزامنة أو هشاشة أجهزة تحديد المواقع، وكلاهما قابل للحل من خلال الانتظار الذكي والتصميم المعياري والصيانة المستمرة.




.png)
.jpg)
.jpg)
.jpg)



