Selenium Інтеграція з Maven та Jenkins

⚡ Розумний підсумок

Maven Jenkins Selenium інтеграція створює автоматизований конвеєр безперервного тестування, де Maven керує залежностями та життєвим циклом проекту, Jenkins планує та запускає збірки, а також Selenium виконує тести браузера, створюючи повторювану, надійну та масштабовану комплексну веб-автоматизацію.

  • 📦 Роль Мейвена: Maven 3.x керує залежностями, життєвим циклом збірки та плагінами через pom.xml, усуваючи ручну обробку JAR-файлів для Selenium проектів.
  • 🔁 Jenkins Роль: Jenkins Розклади LTS Selenium пакети, відстежує зміни SCM та запускає автоматичні регресійні запуски для кожного коміту або нічного cron-запуску.
  • ???? Потужність трубопроводу: Поєднання Maven, Jenkins, Selenium та TestNG формує повний цикл CI/CD, який виявляє дефекти протягом кількох хвилин після зміни коду.
  • звітність: Звіти Surefire плюс Jenkins історія створення дати tracЗручні результати тестів, якими можна ділитися, з виводом у консоль та HTML-панелями керування.
  • 🧪 Покращення AI: Сучасні плагіни штучного інтелекту надають пріоритет тестам, що зазнають впливу, прогнозують нестабільні випадки та скорочують їх кількість. Jenkins цикли зворотного зв'язку всередині Selenium трубопроводи.

Мейвен та Jenkins Інтеграція з Selenium

Що таке Jenkins in Selenium?

Jenkins – це провідний інструмент безперервної інтеграції з відкритим кодом, спочатку розроблений лабораторією Хадсона. Він є кросплатформним і працює на Windows, Linux macOS та Solaris Середовища. Jenkins написано в Java і тепер поширюється як Jenkins LTS для стабільного виробничого використання. Його основне використання — моніторинг будь-якого завдання, яке може бути перевіркою SCM, розкладом cron або станом будь-якої програми. Jenkins запускає попередньо налаштовані дії, коли в завданнях відбувається певний крок.

Важливі характеристики Jenkins

  • Підтримка змін: Jenkins генерує список усіх змін, внесених у репозиторії, такі як Git або SVN.
  • Постійні посилання: Jenkins надає прямі посилання на останню збірку або останню невдалу збірку, що спрощує спілкування в команді.
  • Установка: Jenkins легко встановити за допомогою вбудованого інсталятора, WAR-файлу, розгорнутого на сервері додатків, або образу Docker.
  • Інтеграція електронної пошти: Jenkins можна налаштувати надсилання вмісту та статусу кожної збірки електронною поштою.
  • Проста конфігурація: Налаштування різних завдань на Jenkins це просто через веб-панель керування.
  • TestNG Тест: Jenkins можна налаштувати для запуску збірки автоматизованого тестування на TestNG після кожного коміту в репозиторій.
  • Кілька віртуальних машин: Jenkins може розподіляти збірки між кількома агентськими машинами.
  • Збірка проекту: Jenkins документує деталі JAR-файлів, їх версії та картуping номерів збірок для артефактів.
  • Плагіни: 3rd можна додавати плагіни для вечірок Jenkins для розширення функцій та додаткової функціональності.

Чому Jenkins та Selenium?

  • Робота Selenium випробування в Jenkins дозволяє виконувати тести щоразу, коли програмне забезпечення змінюється, та розгортати програмне забезпечення в новому середовищі після успішного проходження тестів.
  • Jenkins можете запланувати свій Selenium тести для запуску у певний час.
  • Ви можете зберегти історію виконання та звіти про тестування для tracлегкість.
  • Jenkins підтримує Maven для створення та Тестування проект у безперервній інтеграції.

У чому полягає Maven Selenium?

Maven — це потужний інструмент керування проектами та збірками, заснований на концепції POM (моделі об'єктів проекту), який включає інформацію про проект та дані конфігурації для Maven, такі як каталог збірки, каталог вихідного коду, залежності, каталог вихідного коду тестування, цілі, плагіни тощо. Maven 3.x — це поточна стабільна лінія, яка широко використовується в... Selenium тестові фреймворки.

Чому Maven та Jenkins

Selenium WebDriver чудово підходить для автоматизації браузера. Але під час використання його для тестування та створення тестового фреймворку він може здаватися недостатньо потужним. Інтеграція Maven з Selenium забезпечує такі переваги.
Apache Maven надає підтримку для керування повним життєвим циклом тестового проекту.

  • Maven використовується для визначення структури проекту, залежностей, побудови та керування тестуванням.
  • За допомогою pom.xml (Maven) можна налаштувати залежності, необхідні для збірки, тестування та запуску коду.
  • Maven автоматично завантажує необхідні файли з центрального репозиторію під час збірки проєкту.

Як встановити Maven і використовувати його з TestNG Selenium

Ось кроки для встановлення Maven та його використання з TestNG Selenium.

Для цього підручника ми будемо використовувати Eclipse (Juno) 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 | Проект Maven і натисніть кнопку Далі.

Встановіть Maven і використовуйте його разом TestNG Selenium

Крок 3) на Новий проект Maven вибір діалогового вікна Створіть простий проект і натисніть кнопку Далі.

Встановіть Maven і використовуйте його разом TestNG Selenium

Крок 4) Введіть WebdriverTest Ідентифікатор групи: і Ідентифікатор артефакту: і натисніть кнопку «Завершити».

Встановіть Maven і використовуйте його разом TestNG Selenium

Крок 5) Eclipse створимо WebdriverTest з такою структурою:

Встановіть Maven і використовуйте його разом TestNG Seleniuml

Крок 6) Клацніть правою кнопкою миші Системна бібліотека JRE і виберіть властивості опція з меню.

Встановіть Maven і використовуйте його разом TestNG Selenium

на Властивості системної бібліотеки JRE діалогове вікно, переконайтеся JRE робочої області за замовчуванням вибрано, і натисніть кнопку OK.

Встановіть Maven і використовуйте його разом TestNG Selenium

Крок 7) Виберіть пом.хмл від Провідник проектів.

Встановіть Maven і використовуйте його разом TestNG Selenium

Файл pom.xml відкриється в розділі «Редактор».

Встановіть Maven і використовуйте його разом TestNG Selenium

Крок 8) Додати Selenium, Мейвен, TestNG та JUnit залежності від 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) Тепер вам потрібно виконати тест через це testng.xml.

Отже, переходьте до Запустити конфігурації і створіть новий запуск TestNG, виберіть проект, встановіть поле Suite as testng.xmlі натисніть кнопку «Виконати».

Встановіть Maven і використовуйте його разом TestNG Selenium

Переконайтеся, що збірка успішно завершена.

Крок 14) Крім того, нам потрібно додати

  1. maven-compiler-plugin
  2. плагін maven-surefire
  3. testng.xml

до pom.xml.

Плагін maven-surefire використовується для налаштування та виконання тестів. Тут плагін використовується для налаштування testing.xml для TestNG тестувати та створювати звіти про тестування.

Плагін maven-compiler використовується для компіляції коду та використання певної версії JDK для компіляції. Додайте всі залежності з наступного фрагмента коду до pom.xml у вузол:

Встановіть Maven і використовуйте його разом TestNG Selenium

Крок 15) Щоб запустити тести в життєвому циклі Maven, клацніть правою кнопкою миші на проекті WebdriverTest і виберіть Запуск від імені | Тест MavenMaven виконає тест з проекту.

Встановіть Maven і використовуйте його разом TestNG Selenium

Переконайтеся, що збірка успішно завершена.

Як інтегрувати Jenkins з Selenium веб-драйвер

Ось кроки для встановлення Jenkins LTS та налаштуйте його для запуску Maven з TestNG Selenium.

Встановлення

Крок 1) Перейдіть до https://www.jenkins.io/download/ і завантажте правильну Jenkins LTS-пакет для вашої ОС. Встановлення. Jenkins.

Інтеграція з Jenkins З Selenium веб-драйвер

Крок 2) Розстебнути блискавку Jenkins до вказаної папки. Запустіть exe-файл, як показано на наступному знімку екрана:

Інтеграція з Jenkins З Selenium веб-драйвер

Крок 3) Перейдіть на вкладку Jenkins Setup , натисніть на Далі .

Інтеграція з Jenkins З Selenium веб-драйвер

Крок 4) Натисніть на Встановлювати кнопка в кінці.

Інтеграція з Jenkins З Selenium веб-драйвер

Крок 5) Після завершення встановлення перейдіть до Jenkins Панель керування (за замовчуванням http://localhost:8080) у вікні браузера.

Інтеграція з Jenkins З Selenium веб-драйвер

Крок 6) Натисніть на Новий елемент посилання для створення завдання CI.

Інтеграція з Jenkins З Selenium веб-драйвер

Крок 7) Виберіть перемикач проекту Maven, як показано на наступному знімку екрана:

Інтеграція з Jenkins З Selenium веб-драйвер

Використання Build a Проект Maven варіант Jenkins підтримує створення та тестування Maven-проектів.

Крок 8) Натисніть кнопку «ОК». У Jenkins Панель приладів.

Інтеграція з Jenkins З Selenium веб-драйвер

Крок 9) Перейдіть до керувати Jenkins => Налаштувати систему як показано на наступному скріншоті.

Інтеграція з Jenkins З Selenium веб-драйвер

Натисніть «Установки JDK» і налаштуйте JDK, як показано на наступному знімку екрана:

Інтеграція з Jenkins З Selenium WebDrive

Крок 10) Перейдіть до Будувати розділ нової роботи.

  • Перейдіть на вкладку Корінь POM У текстовому полі введіть повний шлях до pom.xml
  • У розділі «Цілі та параметри» введіть «чистий тест»

Інтеграція з Jenkins З Selenium веб-драйвер

Крок 11) Натисніть на Застосовувати .

Інтеграція з Jenkins З Selenium веб-драйвер

Крок 12) На сторінці проекту WebdriverTest натисніть на Створіть зараз зв'язок.

Інтеграція з Jenkins З Selenium веб-драйвер

Maven створить проект. Тоді буде TestNG виконати тестові випадки.

Крок 13) Після завершення процесу складання, у Jenkins Натисніть на панель інструментів WebdriverTest Проект.

Інтеграція з Jenkins З Selenium веб-драйвер

Крок 14) На сторінці проекту WebdriverTest відображається історія збирання та посилання на результати, як показано на наступному знімку екрана:

Інтеграція з Jenkins З Selenium веб-драйвер

Крок 15) Натисніть посилання «Останній результат тесту», щоб переглянути результати тесту, як показано на наступному знімку екрана:

Інтеграція з Jenkins З Selenium веб-драйвер

Крок 16) Виберіть певну збірку, і ви побачите її поточний стан, натиснувши на «вихід консолі».

Інтеграція з Jenkins З Selenium веб-драйвер

Планування Jenkins для автоматичного виконання

Планування збірок (Selenium тести) є однією з важливих особливостей Jenkins, де він автоматично запускає збірку на основі визначених критеріїв. Jenkins надає кілька способів запуску процесу збірки в конфігурації Тригер збірки.

Наприклад:
Введіть 0 23 * * * у текстове поле «Розклад», як показано на наступному знімку екрана. Це запускатиме процес збирання щодня о 11:XNUMX

Jenkins для автоматичного виконання

використання Jenkins без Мавена

Щоб запустити чистий TestNG сценарій в Jenkins, введіть наступне у збірці:

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

Jenkins для автоматичного виконання

  • Натисніть кнопку Зберегти.
  • Примітка: У наведеній вище команді потрібно додати фактичний шлях до папок lib та bin.
  • Після збереження команди, Jenkins збере проєкт у заздалегідь визначений час, і ця команда буде виконана за допомогою TestNG.
  • Результат буде збережено у власному HTML-файлі звіту, який можна надіслати електронною поштою за допомогою Jenkins configuration.
  • Вивід коду буде таким:

Jenkins для автоматичного виконання

Переваги використання Jenkins

  1. Раннє виявлення проблем – помилки можна виявити на ранній стадії розробки програмного забезпечення.
  2. Автоматична інтеграція – жодних окремих зусиль для інтеграції всіх змін не потрібно.
  3. Інсталятор – розгортана система, доступна на будь-якому етапі розробки.
  4. Записи – зберігаються записи про попередні збірки.
  5. Підтримка та плагіни – одна з причин JenkinsПопулярність полягає в наявності великої підтримки спільноти. Також доступно багато готових плагінів, які допоможуть вам розширити його функціональність.

Поширені запитання

Maven керує залежностями та життєвим циклом збірки, Selenium керує браузером, і Jenkins оркеструє виконання. Разом вони утворюють повноцінний конвеєр неперевершеної інтеграції (CI), який компілює код, завантажує необхідні JAR-файли, запускає Selenium тестує та автоматично публікує звіти для кожного коміту.

Використовуйте Maven 3.x для керування залежностями та збірками, а також Jenkins LTS для стабільної безперервної інтеграції. Ці версії забезпечують довгострокову підтримку, патчі безпеки та широку сумісність плагінів для Selenium Вебдрайвер, TestNGта плагіни звітності Surefire.

Так. Jenkins використовує синтаксис у стилі cron у розділі «Тригери збірки» для планування Selenium люкси. Наприклад, 0 23 * * * запускає люкс щовечора о 23:00 Jenkins також може запускати збірки на основі опитування SCM або подій вебхука.

Продажі з Jenkins Плагіни прогнозують нестабільні тести, автоматично налаштовують агенти збірки та виявляють аномалії в журналах консолі. Вони зменшують шум конвеєра, пришвидшують зворотний зв'язок та пропонують оптимальне паралелізування, що забезпечує Selenium набори надійні, оскільки кількість тестів зростає до тисяч.

Так. Аналіз впливу тестування на основі штучного інтелекту відображає зміни коду на тих, на кого вони вплинули. Selenium сценарії та запускає лише відповідну підмножину в JenkinsЦе скорочує цикли зворотного зв'язку, зменшує витрати на інфраструктуру та зберігає повне покриття, плануючи повну регресію для щонічних збірок.

Підсумуйте цей пост за допомогою: