Selenium Интеграция с Maven и Jenkins

⚡ Умно обобщение

Maven Jenkins Selenium Интеграцията създава автоматизиран процес на непрекъснато тестване, където Maven управлява зависимостите и жизнения цикъл на проекта, Jenkins планира и задейства компилации, и Selenium изпълнява тестове на браузъра, създавайки повтаряема, надеждна и мащабируема цялостна уеб автоматизация.

  • 📦 Роля на Maven: Maven 3.x управлява зависимостите, жизнения цикъл на компилацията и плъгините чрез pom.xml, премахвайки ръчната обработка на JAR файлове за... Selenium проекти.
  • 🔁 Jenkins Роля: Jenkins Графици на LTS Selenium пакети, следи промените в SCM и задейства автоматизирани регресионни изпълнения при всеки commit или нощен cron.
  • ???? Мощност на тръбопровода: Комбинирайки Maven, Jenkins, Selenium, и TestNG образува пълен CI/CD цикъл, който улавя дефекти в рамките на минути след промяна на кода.
  • Отчитане: Surefire reports plus Jenkins история на изграждането tracлесни за споделяне резултати от тестове с конзолен изход и HTML табла за управление.
  • 🧪 Подобрение на изкуствения интелект: Съвременните AI плъгини приоритизират засегнатите тестове, предвиждат нестабилни случаи и свиват Jenkins цикли на обратна връзка вътре Selenium тръбопроводи.

Мейвън и Jenkins Интеграция с Selenium

Какво е Jenkins in Selenium?

Jenkins е водещият инструмент за непрекъсната интеграция с отворен код, първоначално разработен от лабораторията Hudson. Той е междуплатформен и работи на Windows, Linux, macOS, и Solaris среди. Jenkins е написано в Java и сега се разпространява като Jenkins LTS за стабилна производствена употреба. Основното му приложение е за наблюдение на всяка задача, която може да бъде SCM проверка, cron график или състояние на всяко приложение. Jenkins задейства предварително конфигурирани действия, когато се случи определена стъпка в заданията.

Важни характеристики на Jenkins

  • Промяна на поддръжката: Jenkins генерира списък с всички промени, направени в хранилища като Git или SVN.
  • Постоянни връзки: Jenkins предоставя директни връзки към най-новата или последната неуспешна компилация, което опростява комуникацията в екипа.
  • Монтаж: Jenkins Лесно се инсталира с помощта на вграден инсталатор, WAR файл, разположен на сървър на приложения, или Docker образ.
  • Интегриране на имейл: Jenkins може да се конфигурира да изпраща имейл за съдържанието и състоянието на всяка компилация.
  • Лесна конфигурация: Конфигуриране на различни задачи на Jenkins е лесно чрез уеб таблото за управление.
  • TestNG Тест: Jenkins може да бъде конфигуриран да изпълнява компилацията на автоматизирания тест върху TestNG след всяко попълване (commit) в хранилището.
  • Множество виртуални машини: Jenkins може да разпространява компилации между множество агентски машини.
  • Изграждане на проект: Jenkins документира подробностите за JAR файловете, JAR версиите и картатаping на номерата на сглобките към артефактите.
  • Plugins: 3rd могат да се добавят плъгини за партита Jenkins за разширяване на функциите и допълнителна функционалност.

Защо Jenkins намлява Selenium?

  • Работещи Selenium тестове в Jenkins ви позволява да изпълнявате тестовете си всеки път, когато софтуерът се промени, и да го разгръщате в нова среда, когато тестовете преминат успешно.
  • Jenkins можете да насрочите вашето Selenium тестове, които да се изпълняват в определено време.
  • Можете да запазите историята на изпълнението и тестовите отчети за tracлеснота.
  • Jenkins поддържа Maven за изграждане и Тестване проект в непрекъсната интеграция.

В какво е Maven Selenium?

Maven е мощен инструмент за управление на проекти и компилации, базиран на концепцията за POM (Project Object Model), който включва информация за проекта и конфигурационни данни за 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) Изберете pom.xml от Project Explorer.

Инсталирайте 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) Добавете следния код към Нов тест клас. Този код ще провери заглавието на 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, който посочва, че трябва да изпълните само един тест с името Нов тест както е показано на следната екранна снимка:

Инсталирайте Maven и го използвайте с TestNG Selenium

Актуализирайте проекта и се уверете, че файлът се появява в дървото Изследовател на пакети (щракнете с десния бутон върху проекта – Refresh).

Инсталирайте Maven и го използвайте с TestNG Selenium

Стъпка 13) Сега трябва да проведете теста през това testng.xml.

И така, отидете на Изпълнете конфигурации и създайте ново стартиране TestNG, изберете проекта, задайте полето апартамент as testng.xmlи щракнете върху „Изпълни“.

Инсталирайте Maven и го използвайте с TestNG Selenium

Уверете се, че изграждането завършва успешно.

Стъпка 14) Освен това, трябва да добавим

  1. maven-компилатор-плъгин
  2. maven-surefire-плъгин
  3. testng.xml

към pom.xml.

Maven-surefire-plugin се използва за конфигуриране и изпълнение на тестове. Тук плъгинът се използва за конфигуриране на testing.xml за TestNG тествайте и генерирайте отчети за тестове.

Maven-compiler-plugin се използва за компилиране на кода и за използване на определена 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 Структура прозорец, щракнете върху Напред бутон.

Интеграция на 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) Щракнете върху бутона OK. В 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 уебдрайвер

Scheduling Jenkins за автоматично изпълнение

Планиране на компилации (Selenium тестове) е една от важните характеристики на Jenkins, където автоматично задейства изграждането въз основа на определени критерии. Jenkins предоставя множество начини за задействане на процеса на изграждане в конфигурацията на Build Trigger.

Например:
Въведете 0 23 * * * в текстовото поле График, както е показано на следващата екранна снимка. Това ще задейства процеса на изграждане всеки ден в 11 часа

Jenkins за автоматично изпълнение

Използването на Jenkins без Мейвън

Да се ​​​​изпълни чисто TestNG скрипт в Jenkins, въведете следното в build:

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

Jenkins за автоматично изпълнение

  • Щракнете върху бутона Запиши.
  • Забележка: Действителният път до папките lib и bin трябва да бъде добавен в горната команда.
  • След запазване на командата, Jenkins ще изгради проекта в предварително зададеното време и тази команда ще бъде изпълнена с помощта на TestNG.
  • Резултатът ще бъде съхранен в персонализиран HTML файл с отчет, който може да бъде изпратен по имейл чрез Jenkins конфигурация.
  • Изходът на кода ще бъде:

Jenkins за автоматично изпълнение

Предимства от използването Jenkins

  1. Ранно откриване на проблеми – грешки могат да бъдат открити в ранната фаза на разработка на софтуер.
  2. Автоматична интеграция – не са необходими отделни усилия за интегриране на всички промени.
  3. Инсталатор – разгръщаща се система, достъпна във всеки момент от разработката.
  4. Записи – поддържат се записи за минали конструкции.
  5. Поддръжка и плъгини – една от причините за JenkinsПопулярността на [име на инструмента] се дължи на наличието на голяма общностна подкрепа. Предлагат се и много готови плъгини, които ви помагат да разширите функционалността му.

Въпроси и Отговори

Maven управлява зависимостите и жизнения цикъл на изграждане, Selenium управлява браузъра и Jenkins оркестрира изпълнението. Заедно те образуват цялостен CI конвейер, който компилира код, изтегля необходимите JAR файлове, изпълнява Selenium тестове и публикува отчети автоматично за всеки commit.

Използвайте Maven 3.x за управление на зависимости и компилации, и Jenkins LTS за стабилна непрекъсната интеграция. Тези версии осигуряват дългосрочна поддръжка, корекции за сигурност и широка съвместимост с плъгини за Selenium Уеб драйвер, TestNGи плъгини за отчитане Surefire.

Да. Jenkins използва синтаксис в стил cron в секцията Build Triggers за планиране Selenium апартаменти. Например, 0 23 * * * управлява апартамента всяка вечер в 23:00 ч. Jenkins може също да задейства компилации на SCM анкети или събития на webhook.

AI захранван Jenkins Плъгините предвиждат нестабилни тестове, автоматично настройват агенти за изграждане и откриват аномалии в лог файловете на конзолата. Те намаляват шума от конвейера, ускоряват обратната връзка и предлагат оптимално паралелизиране, което поддържа Selenium надеждни пакети, тъй като броят на тестовете нараства до хиляди.

Да. Анализът на въздействието на тестовете, базиран на изкуствен интелект, съпоставя промените в кода със засегнатите Selenium сценарии и изпълнява само съответното подмножество в JenkinsТова скъсява циклите на обратна връзка, намалява разходите за инфраструктура и запазва пълно покритие чрез планиране на пълна регресия при нощни компилации.

Обобщете тази публикация с: