تكامل Maven & Jenkins مع البرنامج التعليمي للسيلينيوم

ما هو جنكينز في السيلينيوم؟

Jenkins هي أداة التكامل المستمر الرائدة مفتوحة المصدر التي طورها Hudson Lab. إنه متعدد المنصات ويمكن استخدامه عليه Windowsوبيئات Linux وMac OS وSolaris. جينكينز مكتوب بلغة جافا. الاستخدام الرئيسي لـ Jenkin هو مراقبة أي مهمة يمكن أن تكون SVN checkout أو cron أو أي حالات تطبيق. فهو يطلق إجراءات تم تكوينها مسبقًا عند حدوث خطوة معينة في المهام.

الميزات الهامة لجنكينز

  • دعم التغيير: يقوم Jenkins بإنشاء قائمة بجميع التغييرات التي تم إجراؤها في مستودعات مثل SVN.
  • الروابط الدائمة: يوفر Jenkins روابط مباشرة لأحدث إصدار أو إصدار فاشل يمكن استخدامه لسهولة الاتصال
  • تركيب: من السهل تثبيت Jenkins إما باستخدام ملف التثبيت المباشر (exe) أو ملف war للنشر باستخدام خادم التطبيقات.
  • Email دمج: يمكن تكوين Jenkins إلى email محتوى حالة البناء.
  • التكوين السهل: من السهل تكوين مهام مختلفة على Jenkins.
  • اختبار تيست إن جي: يمكن تكوين Jenkins لتشغيل اختبار الأتمتة بناءً عليه تستنج بعد كل بناء SVN.
  • أجهزة افتراضية متعددة: يمكن تكوين Jenkins لتوزيع البناء على أجهزة متعددة.
  • بناء المشروع: يوثق جينكينز ديtails الجرة وإصدار الجرة ورسم خرائط أرقام البناء والجرة.
  • الإضافات: 3rd يمكن تكوين البرنامج المساعد للحزب في Jenkins لاستخدام الميزات والوظائف الإضافية.

لماذا جنكينز والسيلينيوم؟

  • يتيح لك تشغيل اختبارات السيلينيوم في Jenkins تشغيل اختباراتك في كل مرة يتغير فيها برنامجك ونشر البرنامج في بيئة جديدة عند اجتياز الاختبارات.
  • يمكن لـ Jenkins جدولة اختباراتك ليتم تشغيلها في وقت محدد.
  • يمكنك حفظ سجل التنفيذ وتقارير الاختبار.
  • يدعم Jenkins Maven في البناء و الاختبار مشروع في التكامل المستمر.

ما هو مخضرم في السيلينيوم؟

Maven هي أداة قوية لإدارة المشاريع/البناء، تعتمد على مفهوم POM (نموذج كائن المشروع) الذي يتضمن معلومات المشروع ومعلومات التكوين لـ Maven مثل دليل الإنشاء والدليل المصدر والتبعية ودليل مصدر الاختبار والأهداف والمكونات الإضافية وما إلى ذلك. .

لماذا مافن وجينكينز

يعد Selenium WebDriver رائعًا لأتمتة المتصفح. ولكن، عند استخدامه للاختبار وبناء إطار عمل للاختبار، فإنه يبدو ضعيفًا. يوفر دمج Maven مع السيلينيوم الكثير من المعلوماتwing الفوائد
يوفر Apache Maven الدعم لإدارة دورة الحياة الكاملة لمشروع الاختبار.

  • يتم استخدام Maven لتحديد هيكل المشروع والتبعيات وإدارة البناء والاختبار.
  • باستخدام pom.xml(Maven) يمكنك تكوين التبعيات اللازمة لبناء الاختبار وتشغيل التعليمات البرمجية.
  • يقوم Maven تلقائيًا بتنزيل الملفات الضرورية من المستودع أثناء إنشاء المشروع.

كيفية تثبيت Maven واستخدامه مع TestNG Selenium

فيما يلي خطوات تثبيت Maven واستخدامه مع TestNG Selenium

في هذا البرنامج التعليمي، سوف نستخدم Eclipse (جونو) IDE ل جافا المطورين لإعداد مشروع السيلينيوم WebDriver. بالإضافة إلى ذلك، نحن بحاجة إلى إضافة m2eclipse الاندماج Eclipse لتسهيل عملية البناء وإنشاء ملف pom.xml.
دعونا نضيف m2eclipse الاندماج Eclipse مع فولوwing خطوات:

الخطوة 1) In Eclipse IDE، حدد المساعدة | تثبيت برنامج جديد تبدأ من Eclipse القائمة الرئيسية.

الخطوة 2) في مربع حوار التثبيت، أدخل عنوان URL https://www.eclipse.org/m2e/. تحديد العمل مع والمكون الإضافي m2e كما هو موضح في الصورة التاليةwing قطة:

قم بتثبيت Maven واستخدمه مع TestNG Selenium

الخطوة 3) انقر على التالى زر والانتهاء من التثبيت.

ضبط Eclipse مع مافن

بعد تثبيت البرنامج المساعد m2e، نحتاج الآن إلى إنشاء مشروع Maven.

الخطوة 1) In Eclipse IDE، قم بإنشاء مشروع جديد عن طريق التحديد قم بتقديم | جديد | أخرى تبدأ من Eclipse القائمة.

الخطوة 2) على جديد الحوار، حدد مخضرم | مشروع مافن وانقر فوق التالي

قم بتثبيت Maven واستخدمه مع TestNG Selenium

الخطوة 3) على مشروع مافن الجديد الحوار حدد إنشاء مشروع بسيط وانقر فوق التالي

قم بتثبيت Maven واستخدمه مع TestNG Selenium

الخطوة 4) أدخل اختبار Webdriver في معرف مجموعة: و معرف القطعة الأثرية: وانقر فوق "إنهاء".

قم بتثبيت Maven واستخدمه مع TestNG Selenium

الخطوة 5) Eclipse سيصنع اختبار برنامج تشغيل الويب مع فولوwing بناء:

قم بتثبيت Maven واستخدمه مع TestNG Seleniuml

الخطوة 6) انقر بزر الماوس الأيمن على مكتبة نظام JRE وحدد عقارات الخيار من القائمة.

قم بتثبيت Maven واستخدمه مع TestNG Selenium

على خصائص مكتبة نظام JRE حوار box، تأكد مساحة العمل الافتراضية JRE تم تحديده ثم انقر فوق موافق

قم بتثبيت Maven واستخدمه مع TestNG Selenium

الخطوة 7). حدد pom.xml تبدأ من مستكشف المشروع..

قم بتثبيت Maven واستخدمه مع TestNG Selenium

سيتم فتح ملف pom.xml في قسم المحرر

قم بتثبيت Maven واستخدمه مع TestNG Selenium

الخطوة 8) أضف السيلينيوم، Maven، TestNG، جونيت تبعيات pom.xml في ملف العقدة:

	<dependencies>			
        <dependency>				
             <groupId>junit</groupId>								
             <artifactId>junit</artifactId>								
             <version>3.8.1</version>								
             <scope>test</scope>								
        </dependency>				
        <dependency>				
            <groupId>org.seleniumhq.selenium</groupId>								
            <artifactId>selenium-java</artifactId>								
            <version>2.45.0</version>								
		</dependency>				
        <dependency>				
            <groupId>org.testng</groupId>								
            <artifactId>testng</artifactId>								
            <version>6.8.8</version>								
            <scope>test</scope>							  			
       </dependency>				
</dependencies>

الخطوة 9) إنشاء فئة TestNG جديدة. أدخل اسم الحزمة كـ "مثال" و"NewTest" في ملف الاسم: نصbox وانقر على نهاية الزر كما هو موضح في الصورة التاليةwing قطة:

قم بتثبيت Maven واستخدمه مع TestNG Selenium

الخطوة 10). Eclipse سيقوم بإنشاء فئة NewTest كما هو موضح في المتابعةwing قطة:

قم بتثبيت Maven واستخدمه مع TestNG Selenium

الخطوة 11) أضف المتابعةwing رمز إلى NewTest صف دراسي:

سيتحقق هذا الرمز من عنوان صفحة Guru99 Selenium

package example;		

import org.openqa.selenium.By;		
import org.openqa.selenium.WebDriver;		
import org.openqa.selenium.firefox.FirefoxDriver;		
import org.testng.Assert;		
import org.testng.annotations.Test;	
import org.testng.annotations.BeforeTest;	
import org.testng.annotations.AfterTest;		
public class NewTest {		
	    private WebDriver driver;		
		@Test				
		public void testEasy() {	
			driver.get("http://demo.guru99.com/test/guru99home/");  
			String title = driver.getTitle();				 
			Assert.assertTrue(title.contains("Demo Guru99 Page")); 		
		}	
		@BeforeTest
		public void beforeTest() {	
		    driver = new FirefoxDriver();  
		}		
		@AfterTest
		public void afterTest() {
			driver.quit();			
		}		
}	

الخطوة 12) انقر بزر الماوس الأيمن على WebdriverTest وحدد اختبار | تحويل إلى TestNG.
Eclipse سيقوم بإنشاء testng.xml الذي ينص على أنك تحتاج إلى تشغيل اختبار واحد فقط بالاسم NewTest كما هو مبين في فولوwing قطة:

قم بتثبيت Maven واستخدمه مع TestNG Selenium

قم بتحديث المشروع وتأكد من ظهور هذا الملف في الشجرة مستكشف الحزمة (انقر بزر الماوس الأيمن على المشروع - تحديث).

قم بتثبيت Maven واستخدمه مع TestNG Selenium

الخطوة 13) الآن أنت بحاجة إلى إجراء اختبار من خلال هذا testng.xml.

لذا ، اذهب إلى تشغيل التكوينات وإنشاء إطلاق جديد اختبار، حدد المشروع والمجال التالي as testng.xml وانقر فوق تشغيل

قم بتثبيت Maven واستخدمه مع TestNG Selenium

تأكد من انتهاء البناء بنجاح.

الخطوة 14). بالإضافة إلى ذلك، نحن بحاجة إلى إضافة

  1. maven-compiler-plugin
  2. البرنامج المساعد maven-surefire-plugin
  3. testng.xml

إلى pom.xml.

يتم استخدام البرنامج المساعد maven-surefire لتكوين الاختبارات وتنفيذها. هنا يتم استخدام البرنامج المساعد لتكوين ملف test.xml لاختبار TestNG وإنشاء تقارير الاختبار.

يتم استخدام البرنامج المساعد maven-compiler للمساعدة في تجميع التعليمات البرمجية واستخدام إصدار JDK المعين للتجميع. أضف جميع التبعيات في المتابعةwing مقتطف التعليمات البرمجية، إلى pom.xml في ملف العقدة:

قم بتثبيت Maven واستخدمه مع TestNG Selenium

الخطوة 15) لتشغيل ثe اختبارات في دورة حياة Maven، انقر بزر الماوس الأيمن على WebdriverTest وحدد اهرب مثل | اختبار مافن. سيقوم Maven بتنفيذ الاختبار من المشروع.

قم بتثبيت Maven واستخدمه مع TestNG Selenium

تأكد من انتهاء البناء بنجاح.

كيفية دمج جينكينز مع السيلينيوم WebDriver

فيما يلي خطوات تثبيت Jenkins وتكوينه لتشغيل Maven باستخدام TestNg Selenium

التنزيل

الخطوة 1) انتقل إلى البرنامج المساعد في التأليف http://jenkins-ci.org/ وقم بتنزيل الحزمة الصحيحة لنظام التشغيل الخاص بك. تثبيت جنكينز.

تكامل جنكينز مع السيلينيوم WebDriver

الخطوة 2) قم بفك ضغط جينكينز إلى المجلد المحدد. قم بتشغيل ملف exe كما هو موضح في الصورة التاليةwing قطة:

تكامل جنكينز مع السيلينيوم WebDriver

الخطوة 3) In إعداد جنكينز 1.607 انقر على النافذة التالى .

تكامل جنكينز مع السيلينيوم WebDriver

الخطوة 4) انقر على تثبيت الزر في النهاية.

تكامل جنكينز مع السيلينيوم WebDriver

الخطوة 5) بمجرد الانتهاء من التثبيت، انتقل إلى Jenkins Dashboard (http://localhost:8080 بشكل افتراضي) في نافذة المتصفح.

تكامل جنكينز مع السيلينيوم WebDriver

الخطوة 6) انقر على الزر جديدنا رابط لإنشاء وظيفة CI.

تكامل جنكينز مع السيلينيوم WebDriver

الخطوة 7) حدد زر الاختيار لمشروع Maven كما هو موضح في الصفحة التاليةwing قطة:

تكامل جنكينز مع السيلينيوم WebDriver

باستخدام البناء أ مشروع مافن الخيار، يدعم Jenkins بناء واختبار مشاريع Maven.

الخطوة 8) انقر على زر موافق. يتم إنشاء وظيفة جديدة بالاسم "WebdriverTest" في Jenkins Dashboard.

تكامل جنكينز مع السيلينيوم WebDriver

الخطوة 9) انتقل إلى البرنامج المساعد في التأليف إدارة جنكينز => تكوين النظام كما هو مبين في فولوwing لقطة شاشة.

تكامل جنكينز مع السيلينيوم WebDriver

انقر فوق عمليات تثبيت JDK وقم بتكوين JDK كما في الصفحة التاليةwing قطة:

تكامل جنكينز مع السيلينيوم WebDrive

الخطوة 10) انتقل إلى البناء قسم الوظيفة الجديدة .

  • في مجلة بوم الجذر نصbox، أدخل المسار الكامل إلى pom.xml
  • في قسم الأهداف والخيارات، أدخل "الاختبار النظيف"
  • تكامل جنكينز مع السيلينيوم WebDriver

الخطوة 11) انقر على التقديم .

تكامل جنكينز مع السيلينيوم WebDriver

الخطوة 12) في صفحة مشروع WebdriverTest، انقر فوق بناء الآن الرابط.

تكامل جنكينز مع السيلينيوم WebDriver

سيقوم Maven ببناء المشروع. سيتم بعد ذلك جعل TestNG ينفذ حالات الاختبار.

الخطوة 13) بمجرد اكتمال عملية الإنشاء، في Jenkins Dashboard، انقر فوق اختبار برنامج تشغيل الويب تنفيذ المشاريع

تكامل جنكينز مع السيلينيوم WebDriver

الخطوة 14) تعرض صفحة مشروع WebdriverTest سجل الإنشاء وروابط للنتائج كما هو موضح في الصفحة التاليةwing قطة:

تكامل جنكينز مع السيلينيوم WebDriver

الخطوة 15) انقر على الرابط "أحدث نتيجة اختبار" لعرض نتائج الاختبار كما هو موضح في الصفحة التاليةwing قطة:

تكامل جنكينز مع السيلينيوم WebDriver

الخطوة 16). حدد بناء معين، وسترى الحالة الحالية من خلال النقر على "إخراج وحدة التحكم".

تكامل جنكينز مع السيلينيوم WebDriver

جدولة جينكينز للتنفيذ التلقائي.

تعد جدولة البناء (اختبارات السيلينيوم) إحدى الميزات المهمة لـ Jenkins حيث تقوم تلقائيًا بتشغيل البناء، بناءً على معايير محددة. يوفر Jenkins طرقًا متعددة لبدء عملية الإنشاء ضمن تكوين Build Trigger.

فمثلا:
أدخل 0 23 * * * في نص الجدولbox كما هو مبين في فولوwing لقطة شاشة. سيؤدي هذا إلى تشغيل عملية الإنشاء كل يوم في الساعة 11 مساءً

جنكينز للتنفيذ التلقائي

باستخدام جنكينز دون مافن

لتشغيل البرنامج النصي TestNg النقي في Jenkins، أدخل المتابعةwing في البناء

D:>java -cp "Pathtolibfolder\lib\*;Pathtobinfolder\bin" org.testng.TestNG testng.xml

جنكينز للتنفيذ التلقائي

  • انقر فوق زر حفظ.
  • ملاحظة: يجب إضافة المسار الفعلي لمجلد lib وbin إلى الأمر أعلاه.
  • بعد حفظ الأمر، سيقوم Jenkins ببناء المشروع في وقت محدد مسبقًا، وسيتم تشغيل هذا الأمر باستخدام TestNG.
  • سيتم تخزين النتيجة في ملف HTML للتقرير المخصص الذي يمكن إرساله عبر البريد الإلكترونيmail مع تكوين جينكين
  • سيكون إخراج الكود

جنكينز للتنفيذ التلقائي

فوائد استخدام جينكينز

  1. الاكتشاف المبكر للمشكلة - يمكن اكتشاف الأخطاء في المرحلة المبكرة من تطوير البرنامج
  2. التكامل التلقائي – لا يلزم بذل جهد منفصل لدمج جميع التغييرات
  3. المثبت – نظام قابل للنشر متاح في أي مرحلة من مراحل التطوير
  4. السجلات - الاحتفاظ بسجلات بناء الأجزاء
  5. الدعم والمكونات الإضافية: أحد أسباب شعبية Jenkin هو توفر دعم مجتمعي كبير. يتوفر أيضًا الكثير من المكونات الإضافية الجاهزة والتي تساعدك على توسيع وظائفه.