Maven هو أحدث أداة لاختبار البناء. لديها العديد من الميزات الجديدة بالمقارنة مع Ant، مثل التبعية، وما إلى ذلك.
Maven هي أداة لبناء المشروع أو لإدارة المشروع. يتم استخدامه للتحقق من مشكلات التجميع بين مكونات إطار العمل عندما يقوم مهندس اختبار متعدد بدمج ملفاتهم في نفس إطار العمل.
فهو يحافظ دائمًا على الشاشة أو مكونات إطار العمل أو البناء، ويوفر تعديل حالة البناء، كلما حدث تعديل في إطار العمل.
أنه يوفر ' بناء النجاح 'رسالة في حالة عدم وجود مشكلات في التجميع في إطار العمل أو تقديمها' بناء الفشل ' رسالة.
يتمتع Maven بميزات جديدة مثل التبعية، والتي تُستخدم لتنزيل جرة التبعية من الإنترنت قبل تنفيذ الاختبار.
بمساعدة Maven، يمكننا تنفيذ البرامج النصية للاختبار في سطر الأوامر دون كسوف. ويوفر دائمًا بنية مجلد الإطار.
لمزيد من المعلومات حول Maven، يرجى الرجوع إلى الرابط أدناه:
https://www.javatpoint.com/maven-tutorial
هناك نوعان من البرامج المتوفرة في Maven:
البرنامج المساعد Maven Eclipse
إنه مكون إضافي افتراضي لأحدث إصدارات Eclipse مثل Mars وLuna وOxygen، والذي يُستخدم لإنشاء مشروع Maven من خلال Eclipse.
تثبيت البرنامج الإضافي Maven لـ Eclipse واستخدامه مع Selenium TestNG
في معظم الأحيان، يتم تثبيت المكون الإضافي Maven تلقائيًا في Eclipse، ولكن إذا لم يكن موجودًا، فسننتقل إلى مكان سوق الكسوف والبحث عن مخضرم وتنزيل نسخة متكاملة M2E من هناك.
خطوات إنشاء مشروع Maven
لإنشاء مشروع Maven، اتبع الخطوات التالية:
- اذهب الى ملف → جديد → المشروع
- ثم قم بتوسيع مخضرم المجلد وحدد مشروع مافن الخيارات، وانقر على التالي
- انقر مرة أخرى على التالي زر لمزيد من العملية.
- اضغط على التالي زر دون أن تفعل أي شيء.
- بعد الضغط على زر التالي سوف نقوم بتوفير معرف مجموعة و معرف القطعة الأثرية في حالتنا، وسوف نعطي معرف المجموعة ك MavenProject ومعرف القطعة الأثرية كما MavenProject ، وانقر على ينهي الزر كما نرى في لقطة الشاشة أدناه:
- بمجرد الانتهاء من إنشاء مشروع Maven، لدينا هيكل مجلد مخضرم سوف تبدو مثل هذا:
البرنامج المساعد لسطر الأوامر Maven
يتم استخدامه لتنفيذ البرنامج النصي لاختبار السيلينيوم في موجه الأوامر بدون Eclipse، ويجب تثبيت هذا البرنامج بشكل صريح.
خطوات التثبيت للمكون الإضافي لسطر أوامر Maven
لتثبيت البرنامج الإضافي لسطر أوامر Maven، اتبع الخطوات التالية:
ملحوظة: قبل أن نبدأ عملية تثبيت Maven، سوف نتأكد من تثبيت Java وتعيين متغير البيئة أيضًا.
الخطوة 1: تنزيل أباتشي ميفن
- أولا قم بالذهاب إلى البحث في جوجل عن تحميل مافن ثم اضغط على الرابط الأول كما نرى في الصورة أدناه:
- بمجرد النقر على الرابط، سيتم الانتقال إلى مجتمع Maven. وإلى جانب أرشيف مضغوط ثنائي, انقر على الرابط المحدد، كما نرى في الصورة أدناه:
- قم بتنزيل المجلد المضغوط، وبعد ذلك قم بفك ضغط المجلد ووضعه في المجلد محرك الأقراص C ، وانسخ موقع المجلد.
الخطوة 2: أضف M2_Home في متغير النظام
- بمجرد نسخ الموقع، سنذهب إلى متغيرات البيئة النافذة وانقر على جديد زر على متغير النظام القسم كما نرى في الصورة أدناه:
- وبعد ذلك سوف نقوم بتوفير اسم المتغير و قيمة متغيرة ، وانقر على نعم
الخطوة 3: أضف %M2_Home%in إلى المسار
- بمجرد إنشاء متغير النظام M2_Home، سنجد ملف طريق المتغير ثم اضغط على يحرر الزر، كما نرى في الصورة أدناه:
- ال تحرير نافذة متغيرة سيظهر على الشاشة ثم نضغط على جديد زر و %M2_Home%in القيمة، وانقر على نعم
الخطوة 4: التحقق
- بعد إعداد متغيرات البيئة، سوف نتحقق مما إذا تم تثبيت Maven بنجاح أم لا.
- للقيام بذلك، سوف نفتح موجه الأوامر ونكتب الأمر أدناه:
mvn- version
- ويمكننا أن نرى في لقطة الشاشة أعلاه أنه تم تثبيت Apache Maven بنجاح.
كيفية التعامل مع جار التبعية أو تنزيله باستخدام Maven
قبل أن نبدأ في كتابة كود Maven، نحتاج إلى إضافة التبعيات العامة مثل اختبار و السيلينيوم في ملف pom.xml.
ولهذا، سوف نتبع العملية التالية:
إعادة تسمية الدليل
- نحصل تلقائيًا على ملف Pom.xml ضمن نفس المشروع.
- لتنزيل جرة التبعية لـ اختبار و السيلينيوم ، يجب أن نكتب رمز التبعية لجميع الأدوات الموجودة في ملف Pom.xml.
- للحصول على رمز التبعية، انتقل إلى بحث Google واكتب ' تبعية TestNG Maven '، وانقر على الرابط المحدد.
- وانسخ رمز التبعية الخاص بـ TestNG والصقه في ملف pom.xml.
- في ال نِطَاق القسم، قم بتغيير القيمة من امتحان ل ترجمة وسيبدو رمز التبعية النهائي كما يلي:
org.testng testng 6.8 compile
بعد ذلك، سنضيف تبعية Maven للسيلينيوم، لذلك سنتبع نفس العملية كما في السابق:
- اذهب إلى جوجل وابحث عن ' مافين التبعية السيلينيوم وانقر على الرابط المحدد كما نرى في لقطة الشاشة أدناه:
- وانسخ رمز التبعية من الرابط والصقه داخل ملف xml ملف.
- بعد إضافة رمز التبعية لـ تيست إن جي والسيلينيوم ، سيبدو ملف Pom.xml بالشكل التالي:
org.testng testng 6.8 compile org.seleniumhq.selenium selenium-java 3.141.59
- ثم اضغط السيطرة + ق لحفظ ملف pom.xml.
- بمجرد الانتهاء من إضافة التبعيات، يمكننا أن نرى أن جميع ملفات الجرار تمت إضافتها في ملف تبعيات مافن مجلد تحت MavenProject .
تنفيذ كود السيلينيوم من خلال Maven وTestNG
- سنكتب نموذجًا واحدًا لحالة اختبار، بمساعدة التعليقات التوضيحية @Test و@BeforeTest وAfterTest TestNG.
- أولاً، سوف نقوم بإطلاق جوجل كروم
- ثم انتقل إلى موقع جافاتبوينت.
- واحصل على عنوان URL للصفحة الحالية وعنوان موقع الويب بمساعدة الحصول على عنوان () , getCurrentURL()
ملحوظة
الحصول على العنوان (): يتم استخدام هذه الطريقة لالتقاط عنوان الصفحة.
الحصول على عنوان URL الحالي (): يتم استخدامه لالتقاط عنوان URL الحالي للصفحة.
لتنفيذ البرنامج النصي للاختبار أعلاه، سنقوم بإنشاء حزمة واحدة في MavenProject.
- لإنشاء حزمة في MavenProject، سننقر بزر الماوس الأيمن على src/test/Java → جديد → الحزمة
- بعد ذلك، سنقدم اسم الحزمة كـ ' com.testpackage '، ثم انقر على ينهي الزر كما نرى في لقطة الشاشة أدناه:
- بعد إنشاء الحزمة، سنقوم بإنشاء فئة واحدة.
لإنشاء فئة في MavenProject، اتبع العملية التالية:
- انقر بزر الماوس الأيمن على الحزمة التي تم إنشاؤها حديثًا، ثم حدد جديد ثم حدد فصل من القائمة المحددة كما نرى في لقطة الشاشة أدناه:
حزمة الاختبار → جديد → فئة
- وقم بتوفير اسم الفئة كـ ' مافن تيست1 'وانقر على ينهي
بعد إنشاء الحزمة والفئة، سنبدأ في كتابة الكود.
وفقًا لمتطلبات الكود الخاص بنا، سنضيف تبعيات متعددة.
بعد إضافة التبعيات، يبدو ملف pom.xml الخاص بنا كما يلي:
junit junit 3.8.1 test org.testng testng 6.8 compile com.google.inject guice 4.1.0 no_aop org.seleniumhq.selenium selenium-java 3.141.59 org.seleniumhq.selenium selenium-chrome-driver 2.50.0 com.google.guava guava 22.0 com.google.api-client google-api-client-appengine 1.23.0 com.google.guava guava-jdk5 com.google.code.gson gson 2.2.4
وهنا رمز العينة:
package testpackage; import java.util.concurrent.TimeUnit; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; public class MavenTest1 { public String baseUrl = 'https://www.javatpoint.com/'; String driverPath = 'C://chromedriver_win321//chromedriver.exe'; public WebDriver driver ; @Test public void test() { // set the system property for Chrome driver System.setProperty('webdriver.chrome.driver', driverPath); // Create driver object for CHROME browser driver = new ChromeDriver(); driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); driver.manage().window().maximize(); driver.get(baseUrl); // get the current URL of the page String URL= driver.getCurrentUrl(); System.out.print(URL); //get the title of the page String title = driver.getTitle(); System.out.println(title); } @BeforeTest public void beforeTest() { System.out.println('before test'); } @AfterTest public void afterTest() { driver.quit(); System.out.println('after test'); } }
قم بتنفيذ الكود
يمكننا تشغيل الكود أعلاه بطرق متعددة:
تشغيل من خلال TestNG
إذا قمنا بتشغيل الكود أعلاه باستخدام TestNG، فسوف نتبع العملية التالية:
- انقر بزر الماوس الأيمن على java الملف، ثم اختر تشغيل باسم → 1 اختبار TestNG كما نرى في الصورة أدناه:
- بعد تشغيل الكود بنجاح سيعطي النتيجة التالية:
- وسيتم تشغيل المتصفح في نافذة وحدة التحكم كما نرى في لقطة الشاشة أدناه:
تشغيل من خلال مافن
لتشغيل نفس الكود من خلال Maven، اتبع الخطوات التالية:
أولا، نحن بحاجة إلى تحويل MavenTest1.java ملف في اختبار الملف، لذلك اتبع العملية التالية:
- انقر بزر الماوس الأيمن على java ملف وحدد اختبار ثم حدد تحويل إلى TestNG الخيارات في القائمة المحددة.
- بمجرد أن نختار تحويل إلى TestNG خيارات، ستفتح النافذة أدناه، وبعد ذلك، سوف نضغط على ينهي
- وسيبدو ملف TestNG المحول كما يلي:
بعد ذلك سوف نقوم بتشغيل testng.xml لهذا، نحتاج إلى إضافة Maven Plugins في ملف pom.xml ملفات.
لذلك، سوف نقوم بإضافة المكونات الإضافية الثلاثة المختلفة، وهي كما يلي:
ملحوظة:
ال البرنامج المساعد للمترجم مافن يتم استخدامه لتجميع الكود المصدري لمشروع Maven. سوف يتصل أمر اختبار Maven بالإنترنت ويقوم بتنزيل جميع جرة التبعية في المستودع المحلي لمجلد .M2 ثم يقوم بتجميع كود مصدر السيلينيوم بالكامل كما نرى في الصورة أدناه:
ال مافن البرنامج المساعد سوريفيري يتم استخدامه عندما يتعين علينا إجراء اختبارات الوحدة للتطبيق.
ال البرنامج المساعد مصدر مخضرم يستخدم لبناء ملفات الجرار التي كانت تحتوي على .جافا ملفات المصدر.
بعد إضافة جميع المكونات الإضافية، يبدو ملف pom.xml الخاص بنا كما يلي:
org.apache.maven.plugins maven-compiler-plugin 3.1 1.6 1.6 org.apache.maven.plugins maven-surefire-plugin 2.19.1 C:UsersJTPeclipse-workspaceMavenProject estng.xml org.apache.maven.plugins maven-source-plugin attach-sources jar
- احفظ ملف pom.xml وقم بتنفيذ التعليمات البرمجية.
- لتنفيذ الكود أعلاه، انقر بزر الماوس الأيمن على MavenProject → تشغيل باسم → اختبار Maven كما نرى في الصورة أدناه:
- عندما يتم اجتياز جميع حالات الاختبار وتشغيل Build بنجاح، سيعطي الإخراج التالي:
- وسيتم تشغيل المتصفح في نافذة وحدة التحكم كما نرى في لقطة الشاشة أدناه:
تشغيل من خلال سطر الأوامر
إذا كنا نستخدم جهازًا بعيدًا بمساعدة أوامر Maven، فسنحتاج إلى الانتقال إلى موجه الأوامر.
لهذا، سنذهب إلى هذا الدليل المحدد لمشروع Maven، لذلك انقر بزر الماوس الأيمن على MavenProject وحدد ملكيات الخيارات من القائمة المنبثقة المحددة.
- ومن ثم انسخ موقع الملف MavenProject والصقه في موجه الأوامر للوصول إلى الموقع الصحيح للملف.
- ثم اكتب الأمر أدناه في موجه الأوامر:
cd eclipse-workspaceMavenProject
بمجرد دخولنا إلى MavenProject، سنستخدم بعض الأوامر الشائعة لـ Maven، وهي كما يلي:
أوامر مافن | وصف |
---|---|
تثبيت mvn النظيف | يُستخدم هذا الأمر لإنشاء ملفات الجرار وتجميعها وتنفيذها. |
اختبار ام في ان | سنستخدم هذا الأمر عندما يتعين علينا تنفيذ الاختبارات مقابل كود المصدر المترجم بمساعدة إطار عمل اختبار الوحدة المناسب. |
تجميع mvn | يتم استخدامه لتجميع الكود المصدري لمشروع Maven. |
حزمة ام في ان | سيتم حزم التعليمات البرمجية المنفذة بتنسيق مختلف مثل Jar. |
- وهنا سوف نقوم بتنفيذ تثبيت mvn النظيف
- وسيقوم هذا الأمر بتنفيذ جميع دورات حياة Maven الأربع، ثم تنفيذ حالة الاختبار، وسيقوم بإنشاء ملفات jar. عند التنفيذ الناجح، سيتم تشغيل المتصفح ونجح البناء أيضًا كما نرى في لقطة الشاشة أدناه:
مثال 2 : في هذا المثال، نقوم ببساطة بإنشاء حالتي اختبار للوحدة حيث سنقوم بإضافة وطرح المتغيرين (p و q) وتشغيل التعليمات البرمجية من خلال TestNG وMaven.
هنا رمز العينة:
حرف. قارن جافا
package testpackage; import org.testng.Assert; import org.testng.annotations.Test; public class demo1 { @Test public void sum() { System.out.print('Sum method'); int p=10; int q=20; Assert.assertEquals(30, p+q); } @Test public void sub() { System.out.print('Sub method'); int p=20; int q=10; Assert.assertEquals(10, p-q); } }
قم بتنفيذ التعليمات البرمجية في TestNG
لتشغيل التعليمات البرمجية بمساعدة TestNG، اتبع العملية التالية:
- انقر بزر الماوس الأيمن على java الملف، ثم اختر تشغيل باسم → 1 اختبار TestNG كما نرى في الصورة أدناه:
- بعد تشغيل الكود بنجاح سيعطي النتيجة التالية:
قم بتنفيذ الكود من خلال Maven
لتشغيل نفس الكود بمساعدة Maven، اتبع الخطوات التالية:
- أولاً، نحتاج إلى تحويل ملف Demo1.java إلى ملف TestNG، لهذا الغرض
- انقر بزر الماوس الأيمن على java ملف وحدد اختبار ثم حدد تحويل إلى TestNG في القائمة المنبثقة المحددة.
- ويمكننا أيضًا تغيير اسم الملف وفقًا لاحتياجاتنا والنقر فوق ينهي
- وبعد ذلك سوف نقوم بتوفير المسار xml الملف إلى pom.xml الملف من خلال المكونات الإضافية كما فعلنا في المثال أعلاه:
org.apache.maven.plugins maven-surefire-plugin 2.19.1 C:UsersJTPeclipse-workspaceMavenProject estng1.xml
- بعد إضافة البرنامج المساعد Maven-surefire-في ملف pom.xml، سنقوم بحفظ الملف بالضغط على ctrl+s.
- ومن ثم انقر بزر الماوس الأيمن على MavenProject → تشغيل باسم → اختبار Maven كما نرى في الصورة أدناه:
- عندما يتم اجتياز جميع حالات الاختبار وتشغيل Build بنجاح، سيعطي الإخراج التالي: