التكامل مع مافن وجينكينز Selenium البرنامج التعليمي

ما هو جينكينز في Selenium?

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

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

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

لماذا جنكينز و Selenium?

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

ما هو مافن في Selenium?

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

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

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

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

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

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

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

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

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

قم بتثبيت 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 سيصنع اختبار برنامج تشغيل الويب مع الهيكل التالي:

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

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

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

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

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

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

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

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

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

الخطوة 8) إضافة Seleniumمافن, 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" في ملف الاسم: مربع النص وانقر على نهاية الزر كما هو موضح في لقطة الشاشة التالية:

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

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

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

الخطوة 11) أضف الكود التالي إلى 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("https://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 | حول الى TestNG.
Eclipse سيتم إنشاء testng.xml الذي يقول أنك بحاجة إلى تشغيل اختبار واحد فقط باسم NewTest كما هو موضح في لقطة الشاشة التالية:

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

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

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

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

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

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

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

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

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

إلى pom.xml.

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

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

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

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

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

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

كيفية التكامل مع جنكينز Selenium ويب درايفر

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

التركيب

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

تكامل جنكينز مع Selenium ويب درايفر

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

تكامل جنكينز مع Selenium ويب درايفر

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

تكامل جنكينز مع Selenium ويب درايفر

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

تكامل جنكينز مع Selenium ويب درايفر

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

تكامل جنكينز مع Selenium ويب درايفر

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

تكامل جنكينز مع Selenium ويب درايفر

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

تكامل جنكينز مع Selenium ويب درايفر

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

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

تكامل جنكينز مع Selenium ويب درايفر

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

تكامل جنكينز مع Selenium ويب درايفر

انقر فوق تثبيتات JDK وقم بتكوين JDK كما هو موضح في لقطة الشاشة التالية:

تكامل جنكينز مع Selenium مساحات تخزينية

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

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

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

تكامل جنكينز مع Selenium ويب درايفر

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

تكامل جنكينز مع Selenium ويب درايفر

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

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

تكامل جنكينز مع Selenium ويب درايفر

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

تكامل جنكينز مع Selenium ويب درايفر

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

تكامل جنكينز مع Selenium ويب درايفر

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

تكامل جنكينز مع Selenium ويب درايفر

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

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

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

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

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

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

D:>java -cp “Pathtolibfolder\lib\*;Pathtobinfolder\bin” org.testng.TestNG اختبار.xml

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

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

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

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

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

تلخيص هذه التدوينة بـ: