التكامل مع مافن وجينكينز 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 كما هو موضح في لقطة الشاشة التالية:
الخطوة 3) انقر على لتالي زر والانتهاء من التثبيت.
ضبط Eclipse مع مافن
بعد تثبيت البرنامج المساعد m2e، نحتاج الآن إلى إنشاء مشروع Maven.
الخطوة 1) In Eclipse IDE، قم بإنشاء مشروع جديد عن طريق التحديد قم بتقديم | جديد | والخدمات الأخرى من Eclipse القائمة.
الخطوة 2) على جديد الحوار، حدد مخضرم | مشروع مافن وانقر فوق التالي
الخطوة 3) على مشروع مافن الجديد الحوار حدد إنشاء مشروع بسيط وانقر فوق التالي
الخطوة 4) أدخل اختبار Webdriver في معرف مجموعة: و معرف القطعة الأثرية: وانقر فوق "إنهاء".
الخطوة 5) Eclipse سيصنع اختبار برنامج تشغيل الويب مع الهيكل التالي:
الخطوة 6) انقر بزر الماوس الأيمن على مكتبة نظام JRE وحدد عقارات الخيار من القائمة.
على خصائص مكتبة نظام JRE مربع الحوار، تأكد مساحة العمل الافتراضية JRE تم تحديده ثم انقر فوق موافق
الخطوة 7). حدد pom.xml من مستكشف المشروع..
سيتم فتح ملف pom.xml في قسم المحرر
الخطوة 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" في ملف الاسم: مربع النص وانقر على نهاية الزر كما هو موضح في لقطة الشاشة التالية:
الخطوة 10). Eclipse سيتم إنشاء فئة NewTest كما هو موضح في لقطة الشاشة التالية:
الخطوة 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 كما هو موضح في لقطة الشاشة التالية:
قم بتحديث المشروع وتأكد من ظهور هذا الملف في الشجرة مستكشف الحزمة (انقر بزر الماوس الأيمن على المشروع - تحديث).
الخطوة 13) الآن أنت بحاجة إلى إجراء اختبار من خلال هذا اختبار.xml.
لذا ، اذهب إلى تشغيل التكوينات وإنشاء إطلاق جديد TestNG، حدد المشروع والمجال التالي as اختبار.xml وانقر فوق تشغيل
تأكد من انتهاء البناء بنجاح.
الخطوة 14). بالإضافة إلى ذلك، نحن بحاجة إلى إضافة
- maven-compiler-plugin
- البرنامج المساعد maven-surefire-plugin
- اختبار.xml
إلى pom.xml.
يتم استخدام البرنامج المساعد maven-surefire لتكوين الاختبارات وتنفيذها. هنا يتم استخدام البرنامج المساعد لتكوين test.xml لـ TestNG اختبار وإنشاء تقارير الاختبار.
يتم استخدام maven-compiler-plugin للمساعدة في تجميع الكود واستخدام إصدار JDK المحدد للتجميع. أضف جميع التبعيات في مقتطف الكود التالي، إلى pom.xml في العقدة:
الخطوة 15) لتشغيل ثe اختبارات في دورة حياة Maven، انقر بزر الماوس الأيمن على WebdriverTest وحدد اهرب مثل | اختبار مافن. سيقوم Maven بتنفيذ الاختبار من المشروع.
تأكد من انتهاء البناء بنجاح.
كيفية التكامل مع جنكينز Selenium ويب درايفر
فيما يلي خطوات تثبيت Jenkins وتكوينه لتشغيل Maven مع TestNg Selenium
التركيب
الخطوة 1) انتقل إلى البرنامج المساعد في التأليف http://jenkins-ci.org/ وقم بتنزيل الحزمة الصحيحة لنظام التشغيل الخاص بك. تثبيت جنكينز.
الخطوة 2) قم بفك ضغط Jenkins إلى المجلد المحدد. قم بتشغيل ملف exe كما هو موضح في لقطة الشاشة التالية:
الخطوة 3) In إعداد جنكينز 1.607 انقر على النافذة لتالي .
الخطوة 4) انقر على تثبيت الزر في النهاية.
الخطوة 5) بمجرد الانتهاء من التثبيت، انتقل إلى Jenkins Dashboard (http://localhost:8080 بشكل افتراضي) في نافذة المتصفح.
الخطوة 6) انقر على الزر جديدنا رابط لإنشاء وظيفة CI.
الخطوة 7) حدد زر الاختيار الخاص بمشروع Maven كما هو موضح في لقطة الشاشة التالية:
باستخدام البناء أ مشروع مافن الخيار، يدعم Jenkins بناء واختبار مشاريع Maven.
الخطوة 8) انقر على زر موافق. يتم إنشاء وظيفة جديدة بالاسم "WebdriverTest" في Jenkins Dashboard.
الخطوة 9) انتقل إلى البرنامج المساعد في التأليف إدارة جنكينز => تكوين النظام كما هو موضح في الصورة التالية.
انقر فوق تثبيتات JDK وقم بتكوين JDK كما هو موضح في لقطة الشاشة التالية:
الخطوة 10) انتقل إلى نبنيها قسم الوظيفة الجديدة .
- في خانة رمز الخصم، أدخل TABBYDAY. بوم الجذر مربع النص، أدخل المسار الكامل إلى pom.xml
- في قسم الأهداف والخيارات، أدخل "الاختبار النظيف"
الخطوة 11) انقر على تطبيق .
الخطوة 12) في صفحة مشروع WebdriverTest، انقر فوق بناء الآن الرابط.
سيقوم Maven ببناء المشروع. سيكون بعد ذلك TestNG تنفيذ حالات الاختبار.
الخطوة 13) بمجرد اكتمال عملية الإنشاء، في Jenkins Dashboard، انقر فوق اختبار برنامج تشغيل الويب تنفيذ المشاريع
الخطوة 14) تعرض صفحة مشروع WebdriverTest سجل البناء وروابط للنتائج كما هو موضح في لقطة الشاشة التالية:
الخطوة 15) انقر على رابط "أحدث نتيجة اختبار" لعرض نتائج الاختبار كما هو موضح في لقطة الشاشة التالية:
الخطوة 16). حدد بناء معين، وسترى الحالة الحالية من خلال النقر على "إخراج وحدة التحكم".
جدولة جينكينز للتنفيذ التلقائي.
بناء الجدولة(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
- سيكون إخراج الكود
فوائد استخدام جينكينز
- الاكتشاف المبكر للمشكلة - يمكن اكتشاف الأخطاء في المرحلة المبكرة من تطوير البرنامج
- التكامل التلقائي – لا يلزم بذل جهد منفصل لدمج جميع التغييرات
- المثبت – نظام قابل للنشر متاح في أي مرحلة من مراحل التطوير
- السجلات - الاحتفاظ بسجلات بناء الأجزاء
- الدعم والمكونات الإضافية: أحد أسباب شعبية Jenkin هو توفر دعم مجتمعي كبير. كما يتوفر الكثير من المكونات الإضافية الجاهزة التي تساعدك على توسيع وظائفه.




































