كل ما تحتاج لمعرفته حول التعليقات التوضيحية TestNG في السيلينيوم



ستساعدك هذه المقالة على TestNG Annotations في السيلينيوم على فهم التعليقات التوضيحية المختلفة التي يدعمها TestNG في السيلينيوم بمساعدة الأمثلة.

من أي وقت مضى منذ مفهوم تم تقديمه ، وتطور الكثير من منهجيات الاختبار ، وتغيرت النماذج ، لكن المتطلبات انتصرت بطريقة ما لتبقى ثابتة. منهجية واحدة من هذا القبيل TestNG مما يساعدنا في تجميع حالات الاختبار في أقسام مختلفة من التعليمات البرمجية بمساعدة التعليقات التوضيحية. ولكن كيف يعمل؟ دعونا نفهم هذا المفهوم من خلال وسيط هذه المقالة على TestNG Annotations in .

سأغطي الموضوعات المذكورة أدناه في هذه المقالة:





مقدمة إلى TestNG

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

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



لماذا استخدام TestNG في السيلينيوم؟

يوافق مطورو البرامج من جميع أنحاء العالم بالإجماع على أن كتابة التعليمات البرمجية في حالات الاختبار توفر جزءًا كبيرًا من وقت تصحيح الأخطاء. لماذا ا؟ ذلك لأن حالات الاختبار تساعد في إنشاء رمز قوي وخالي من الأخطاء عن طريق تقسيم الكود بالكامل إلى حالات اختبار أصغر ، ثم من خلال تقييم كل حالة من حالات الاختبار هذه لتمرير / فشل الشروط ، يمكنك إنشاء رمز خالٍ من الأخطاء. منذ لا يدعم تنفيذ الكود في حالات الاختبار ، يأتي TestNG في الصورة التي ستساعد في تنفيذ حالات الاختبار.

يدعم TestNG أيضًا الميزات التالية:

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

الآن بعد أن عرفت ما هو TestNG ولماذا يتم استخدامه ، دعنا ننتقل إلى أبعد من ذلك ونعرف التعليقات التوضيحية المختلفة التي يدعمها TestNG في السيلينيوم.

الشروح TestNG

تستخدم التعليقات التوضيحية TestNG في السيلينيوم للتحكم في الطريقة التالية التي سيتم تنفيذها. يتم تحديد التعليقات التوضيحية للاختبار قبل كل طريقة في كود الاختبار. في حالة عدم وجود طريقة مسبوقة بتعليقات توضيحية ، سيتم تجاهل هذه الطريقة ولن يتم تنفيذها كجزء من كود الاختبار. لتعريفها ، يجب أن يتم شرح الطرق ببساطة بـ ' @اختبار '.



أنواع التعليقات التوضيحية TestNG:

فيما يلي قائمة بالتعليقات التوضيحية التي يدعمها TestNG في السيلينيوم.

  • BeforeMethod: سيتم تنفيذ طريقة مع هذا التعليق التوضيحي قبل كل @اختبار طريقة مشروحة.
  • AfterMethod: هذا سيتم تنفيذ التعليق التوضيحي بعد كل @اختبار طريقة مشروحة.
  • @قبل الفصل: سيتم تنفيذ هذا التعليق التوضيحي من قبل الاختبار الأول طريقة التنفيذ. يتم تشغيله مرة واحدة فقط لكل فصل.
  • AfterClass: ت سيتم تنفيذ شرحه التوضيحي بعد تشغيل جميع طرق الاختبار في الفصل الحالي
  • @قبل الاختبار: سيتم تنفيذ طريقة مع هذا التعليق التوضيحي من قبل الاختبار الأول طريقة مشروحة.
  • AfterTest: سيتم تنفيذ طريقة مع هذا التعليق التوضيحي عندما الكل @اختبار تكمل الطرق المشروحة تنفيذ تلك الفئات التي يتم تضمينها في TestNG.xml ملف.
  • BeforeSuite: سيتم تشغيل هذا التعليق التوضيحي مرة واحدة فقط من قبل تم تشغيل جميع الاختبارات في الجناح
  • AfterSuite: سيتم تشغيل طريقة مع هذا التعليق التوضيحي مرة بعد تم تنفيذ جميع الاختبارات في الجناح
  • BeforeGroups: سيتم تشغيل هذه الطريقة المشروحة قبل التشغيل التجريبي الأول من تلك المجموعة المحددة.
  • AfterGroups: سيتم تشغيل هذه الطريقة المشروحة بعد كل طرق الاختبار من تلك المجموعة يكمل تنفيذها.

هذا كل شيء عن التعليقات التوضيحية في TestNG. الآن دعنا ننتقل إلى أبعد من ذلك ونفهم كيفية كتابة حالة الاختبار الأولى باستخدام TestNG.

إنشاء حالات الاختبار باستخدام التعليقات التوضيحية TestNG

الخطوات المختلفة المتضمنة في إنشاء حالات الاختبار باستخدام TestNG Annotation هي كما يلي:

  1. أنشئ مشروعًا وأضف مكتبة TestNG.
  2. قم بإنشاء ملف فئة وكود البرنامج
  3. أخيرًا ، اكتب ملف XML وقم بتنفيذه على TestNG Suite.

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

حالة الاختبار 1:

في حالة الاختبار هذه ، سأستخدم ثلاثة تعليقات توضيحية مختلفة وأقوم بترميز البرنامج. دعونا نفهم كيفية القيام بذلك من خلال المثال أدناه.

package co.edureka.pages import org.openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import org.testng.Assert import org.testng.annotations.AfterTest import org.testng.annotations.BeforeTest import org.testng .annotations.Test public class AnnotationExample {public String baseUrl = 'https://www.edureka.co/' String driverPath = 'C: //Users//Neha_Vaidya//Desktop//chromedriver_win32//chromedriver.exe' Public WebDriver driverBeforeTest public void launchBrowser () {System.out.println ('launching Chrome browser') System.setProperty ('webdriver.chrome.driver'، driverPath) driver = new ChromeDriver () driver.get (baseUrl)}Test public void definitelyHomepageTitle () StringictedTitle = 'تدريب عبر الإنترنت بقيادة معلم مع دعم مدى الحياة على مدار 24 ساعة طوال أيام الأسبوعAfterTest public void terminateBrowser () {driver.close ()}}

بشكل أساسي ، أريد التحقق مما إذا كان العنوان الفعلي لصفحة ويب Edureka يتطابق مع العنوان المتوقع أم لا. لذلك ، أنا أستخدم ' @قبل الاختبار' الشرح وإنشاء مثيل لبرنامج تشغيل المتصفح والتنقل عبر موقع Edureka على الويب باستخدام ملف driver.get () طريقة. إذن هذه هي الخطوات التي يجب القيام بها قبل الاختبار.

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

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

دعونا الآن نرى مثالاً آخر لفهم تدفق تنفيذ مختلف التعليقات التوضيحية في العمق. من الضروري جدًا معرفة تدفق تنفيذ التعليقات التوضيحية. لذا ، دعنا نلقي نظرة على اللقطة أدناه للتعرف عليها.

سيكون تدفق تنفيذ التعليقات التوضيحية كما هو موضح في اللقطة أعلاه. الآن دعونا نرى مثالاً آخر لفهم الشيء نفسه.

حالة الاختبار 2:

package co.edureka.pages import org.testng.annotations.AfterClass import org.testng.annotations.AfterMethod import org.testng.annotations.AfterSuite import org.testng.annotations.AfterTest import org.testng.annotations.BeforeClass org.testng .annotations.BeforeMethod import org.testng.annotations.BeforeSuite import org.testng.annotations.BeforeTest import org.testng.annotations.Test public class testngAnnotations {// Test Case 1Test public void testCase1 () {System.out.println ('Test Case 1')} // Test Case 2Test public void testCase2 () {System.out.println ('Test Case 2')}BeforeMethod public void beforeMethod () {System.out.println ('Before Method ')}AfterMethod public void afterMethod () {System.out.println (' After Method ')}BeforeClass public void beforeClass () {System.out.println (' Before Class ')}AfterClass public void afterClass ( ) {System.out.println ('After Class')}BeforeTest public void beforeTest () {System.out.println ('Before Test')}AfterTest public void afterTest () {System.out.println ('After Test')}BeforeSuite public void beforeSuite () {System.out.println ('Before Suite')}AfterSuite public void afterSuite () {System.out.println ( 'بعد الجناح')}}

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

اكتشفت [RemoteTestNG] الإصدار 6.14.2 من TestNG قبل المجموعة قبل الاختبار قبل الفصل قبل الفصل الدراسي حالة الاختبار 1 بعد الطريقة قبل الحالة التجريبية للطريقة 2 بعد اجتياز الطريقة بعد اجتياز الفصل بعد الاختبار: testCase1 PASSED: testCase2 ============ ===================================== الاختبار الافتراضي تشغيل الاختبارات: 2 ، حالات الفشل: 0 ، التخطي: 0 ================================================ بعد الجناح = =============================================== المجموعة الافتراضية مجموع الاختبارات الجري: 2 ، الإخفاقات: 0 ، التخطيات: 0 ======================================= ========

من الناتج أعلاه ، يمكنك ملاحظة أنه نفذ كل من حالات الاختبار و Before Suite و After Suite الذي تم تنفيذه مرة واحدة فقط. أيضًا ، تم إجراء الاختبار بنجاح في الاختبار الافتراضي والجناح. هذه هي الطريقة التي تحتاج إليها لتنفيذ حالات الاختبار باستخدام التعليقات التوضيحية.هذا يقودنا إلى نهاية هذه المقالة حول TestNG Annotations في السيلينيوم.

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

إذا وجدت هذه التعليقات التوضيحية 'TestNG في السيلينيوم ' ذو صلة، تفحص ال من Edureka ، وهي شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250000 متعلم راضٍ منتشرين في جميع أنحاء العالم.

دمج الترتيب في c ++

لديك سؤال لنا؟ يرجى ذكرها في قسم التعليقات من شروح TestNG في السيلينيوم مقال وسنعاود الاتصال بك.