"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > أتمتة الاختبار: دليل السيلينيوم مع Java وTestNG

أتمتة الاختبار: دليل السيلينيوم مع Java وTestNG

تم النشر بتاريخ 2024-11-05
تصفح:310

أصبحت أتمتة الاختبار جزءًا لا يتجزأ من عملية تطوير البرامج، مما يسمح للفرق بزيادة الكفاءة وتقليل الأخطاء اليدوية وتقديم منتجات عالية الجودة بوتيرة أسرع. السيلينيوم، أداة قوية لأتمتة متصفحات الويب، جنبًا إلى جنب مع تعدد استخدامات Java، توفر إطارًا قويًا لبناء مجموعات اختبار آلية موثوقة وقابلة للتطوير. يؤدي استخدام Selenium Java لأتمتة الاختبار إلى تعزيز نقاط القوة في كل من الأداة ولغة البرمجة لإنشاء سيناريوهات اختبار فعالة.

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

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

إليك بعض الأسباب التي تجعل السيلينيوم هو الخيار المفضل لأتمتة الاختبار:

  • التوافق عبر المتصفحات: يدعم Selenium WebDriver متصفحات متعددة، بما في ذلك Chrome وFirefox وSafari وEdge، مما يضمن تغطية اختبارية شاملة عبر بيئات مختلفة.
  • دعم اللغة: يوفر برنامج Selenium WebDriver التوافق مع العديد من لغات البرمجة، بما في ذلك Java وPython وC# وJavaScript. تتيح هذه المرونة للمختبرين العمل بلغة البرمجة المفضلة لديهم.
  • النظام البيئي الغني: يتمتع السيلينيوم بنظام بيئي واسع مع مجتمع مزدهر، مما يوفر الوصول إلى العديد من الموارد والمكونات الإضافية وعمليات التكامل لتعزيز عملية الاختبار.
  • تفاعل العناصر: يوفر السيلينيوم آليات لتحديد العناصر على صفحة ويب باستخدام استراتيجيات مختلفة مثل المعرف، والاسم، وXPath، ومحددات CSS، وما إلى ذلك. وهذا يمكّن المختبرين من التفاعل مع عناصر محددة بدقة.
  • التعامل مع التنبيهات والنوافذ المنبثقة: يمكن للسيلينيوم التعامل مع التنبيهات والنوافذ المنبثقة ومربعات الحوار التي تظهر أثناء عملية الاختبار، مما يسمح بسيناريوهات أتمتة أكثر شمولاً.
  • التعامل مع عناصر الويب الديناميكية: يدعم السيلينيوم التعامل مع العناصر الديناميكية على صفحات الويب، مثل تلك التي تم إنشاؤها بواسطة أطر عمل JavaScript مثل AngularJS أو React أو Vue.js
  • تكامل إطار الاختبار: يمكن دمج السيلينيوم مع أطر الاختبار الشائعة مثل JUnit وTestNG وNUnit وPytest، مما يوفر وظائف إضافية مثل إعداد التقارير والتنفيذ المتوازي وتحديد معلمات البيانات.
  • التكامل مع أدوات التكامل المستمر (CI): يمكن دمج السيلينيوم بسلاسة في خطوط أنابيب CI/CD باستخدام أدوات مثل Jenkins، أو Travis CI، أو CircleCI، مما يسمح بالاختبار الآلي كجزء من دورة حياة تطوير البرامج. ]
لمزيد من المعلومات حول السيلينيوم، يمكنك مراجعة وثائقه الرسمية.

الاستفادة من جافا للأتمتة

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

لهذا السبب تعتبر Java خيارًا ممتازًا لأتمتة السيلينيوم:

  • نموذج قوي موجه للكائنات: تسهل طبيعة جافا الموجهة للكائنات إنشاء نصوص اختبارية معيارية وقابلة للصيانة، مما يجعل من السهل إدارة مجموعات الاختبار المعقدة.
  • وفرة المكتبات وأطر العمل: تفتخر Java بنظام بيئي غني من المكتبات وأطر العمل التي تكمل السيلينيوم، مثل TestNG وJUnit وApache Maven، مما يتيح التكامل السلس وإدارة الاختبار المتقدمة.
  • استقلال النظام الأساسي: تضمن فلسفة Java "الكتابة مرة واحدة، والتشغيل في أي مكان" إمكانية تنفيذ البرامج النصية للاختبار التي تم تطويرها على نظام أساسي واحد على أي نظام أساسي باستخدام Java Virtual Machine (JVM)، مما يعزز قابلية النقل وقابلية التوسع.
الخطوات المطلوبة

في هذه المدونة، أثناء العملي، استخدمنا الإصدارات أدناه للمكتبات والتطبيقات المعنية:

    إصدار جافا : 19.0.2
  • إصدار IntelliJ: 2023.3.6
  • السيلينيوم - إصدار جافا: 4.18.1
  • إصدار TestNG: 7.9.0

تنزيل وتثبيت JDK:

لكتابة برامج Java وتنفيذها، تحتاج إلى Java Development Kit (JDK)، والتي تتضمن Java Runtime Environment (JRE). يتم تضمين JRE مع JDK أثناء التثبيت.

حتى لتشغيل التطبيقات التي تعتمد على Java، مثل IntelliJ IDE، لا تزال بحاجة إلى تثبيت JDK.

للبدء،

قم بتنزيل Java وتثبيته وضبط مسار البيئة وفقًا لذلك. يمكنك العثور على إرشادات حول كيفية تكوينه على هذا موقع الويب. بمجرد التهيئة، يمكنك التحقق من التثبيت عن طريق كتابة java -version في موجه الأوامر، والذي يعرض تفاصيل إصدار Java المثبت.

Test Automation: Guide to Selenium with Java and TestNG

تثبيت IntelliJ:

لتنزيل IntelliJ، قم بزيارة موقعه الرسمي على الويب واختر ملف .exe لإصدار المجتمع. سيبدأ التنزيل بمجرد تحديد الملف.

بعد انتهاء التنزيل، قم بتشغيل ملف exe. وتابع تثبيت IntelliJ.

يمكنك الرجوع إلى الإرشادات المتوفرة على هذا الموقع للحصول على إرشادات حول

تثبيت IntelliJ.

إنشاء حالة الاختبار

1. قم بإنشاء مشروع Maven في IntelliJ:

    قم بتشغيل IntelliJ IDEA واختر "مشروع جديد" من القائمة.

Test Automation: Guide to Selenium with Java and TestNG

    حدد اسم المشروع وموقعه، وحدد Java كلغة، واختر Maven كنظام البناء، وقم بتعيين إصدار JDK، وأخيرًا، انقر فوق "إنشاء".

Test Automation: Guide to Selenium with Java and TestNG

    تأكد من أن مشروع Maven الخاص بك يتبع هذه البنية عند إنشائه.

Test Automation: Guide to Selenium with Java and TestNG

2. إضافة التبعيات في pom.xml: بعد إنشاء مشروع جديد، الخطوة الأولى هي تضمين التبعيات مثل السيلينيوم وTestNG في ملف pom.xml. يمكنك العثور على أحدث الإصدارات من هذه التبعيات على الموقع الرسمي لمستودع Maven.

3. قم بإنشاء حالة اختبار Java باستخدام اختبار السيلينيوم

    بعد ذلك، قم بإنشاء اسم فئة Java SampleTest داخل دليل src > test > java.

Test Automation: Guide to Selenium with Java and TestNG

  • يستخدم البرنامج النصي للاختبار تعليقات TestNG التوضيحية لإجراء اختبار تلقائي على موقع JigNect الإلكتروني. فيما يلي شرح موجز لكل تعليق توضيحي مستخدم في TestNG:

  • @BeforeMethod: تمت إضافة تعليقات توضيحية إلى طريقة setUpBrowser باستخدام @BeforeMethod، مما يشير إلى أنه يجب تشغيلها قبل كل طريقة اختبار. في هذه الحالة، يقوم بتهيئة ChromeDriver، وتكبير نافذة المتصفح، والانتقال إلى عنوان URL المحدد.

  • الاختبار: يمثل هذا التعليق التوضيحي طريقة كطريقة اختبار. طريقة SampleTest () هي حالة الاختبار الفعلية في هذا البرنامج النصي. إنه يتحقق من إعادة توجيه المستخدم إلى الصفحة الرئيسية لموقع JigNect، وينقر على رابط صفحة مدونات ضمان الجودة، ويؤكد أن المستخدم موجود في صفحة مدونات ضمان الجودة.

  • @AfterMethod: تم وضع تعليقات توضيحية على طريقة CloseBrowser باستخدام @AfterMethod، مما يشير إلى أنه يجب تشغيلها بعد كل طريقة اختبار. في هذه الحالة، يتم إغلاق المتصفح بعد اكتمال تنفيذ الاختبار.

  • إذا كنت مهتمًا بمعرفة المزيد عن TestNG، فتفضل بزيارة موقعها الرسمي للحصول على معلومات إضافية.

  • بشكل عام، يضمن هذا البرنامج النصي للاختبار أن التنقل في موقع الويب وإعادة توجيه الصفحة يعملان كما هو متوقع، وذلك باستخدام التأكيدات للتحقق من صحة النتائج المتوقعة في كل خطوة.

قم بتشغيل حالة الاختبار التي تم إنشاؤها وتحقق من النتيجة

1. بمجرد كتابة نص الاختبار، تابع تنفيذ الاختبار وتحليل النتائج بعناية.

    لتشغيل حالة الاختبار، انتقل إلى فئة الاختبار، وانقر عليها بزر الماوس الأيمن، ثم اختر خيار "تشغيل". سيتم عرض النتائج في نافذة أداة التشغيل الخاصة بـ IntelliJ.

Test Automation: Guide to Selenium with Java and TestNG

2. نتائج التشغيل التجريبي

    توفر النتائج المعروضة في نافذة أداة التشغيل الخاصة بـ IntelliJ معلومات مهمة حول التشغيل التجريبي.
  • كما ترون، لقد اجتاز الاختبار الذي أنشأناه ويعمل بشكل صحيح كما هو متوقع.
  • من خلال مراجعة هذه النتائج، يمكننا فهم الاختبارات التي تم اجتيازها، أو التي فشلت، أو التي تم تخطيها.
  • يساعدنا هذا على تحسين عملية الاختبار لدينا وجعل نصوصنا أفضل وأكثر دقة.

Test Automation: Guide to Selenium with Java and TestNG

خاتمة

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

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

ابق على اتصال معنا لاستكشاف موضوعات إضافية تتعلق باختبار الأتمتة، مثل تنفيذ أطر العمل الديناميكية، واستخدام فئات كائنات الصفحة، ومصانع البيانات، وكائنات البيانات، وغير ذلك الكثير في منشورات مدونتنا القادمة.

واصل التدريب والاستكشاف لإتقان هذه الأدوات القوية بشكل أكبر باستخدام

Jignect.

شاهد كيف أدى نهجنا الدقيق وحلولنا المتطورة إلى رفع الجودة والأداء إلى آفاق جديدة. ابدأ رحلتك إلى عالم التميز في اختبار البرمجيات. لمعرفة المزيد، راجع

الأدوات والتقنيات & خدمات ضمان الجودة.

إذا كنت ترغب في معرفة المزيد حول الخدمات الرائعة التي نقدمها، تأكد من

التواصل معنا. اختبار سعيد! ?

بيان الافراج تم إعادة نشر هذه المقالة على: https://dev.to/jignect_technologies/test-automation-guide-to-selenium-with-java-and-testng-5820?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3