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

⚡ Умное резюме

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

  • 📦 Роль эксперта: Maven 3.x управляет зависимостями, жизненным циклом сборки и плагинами через pom.xml, исключая необходимость ручной обработки JAR-файлов. Selenium проектов.
  • 🔁 Jenkins Роль: Jenkins Расписание LTS Selenium Этот пакет программ отслеживает изменения в системах контроля версий и запускает автоматические регрессионные тесты при каждом коммите или ежедневном выполнении cron-запроса.
  • 🚀 Энергетика трубопроводов: Сочетание Maven, Jenkins, Selenium и TestNG формирует полный цикл CI/CD, который выявляет дефекты в течение нескольких минут после изменения кода.
  • Отчетность: Отчеты Surefire плюс Jenkins построить историю дать tracРезультаты тестирования, доступные для просмотра и совместного использования, с выводом в консоль и отображением на HTML-панелях мониторинга.
  • 🧪 Улучшение ИИ: Современные плагины ИИ расставляют приоритеты для затронутых тестов, прогнозируют нестабильные случаи и сокращают их объем. Jenkins циклы обратной связи внутри Selenium трубопроводы.

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

Что такое Jenkins in Selenium?

Jenkins Это ведущий инструмент непрерывной интеграции с открытым исходным кодом, первоначально разработанный лабораторией Хадсона. Он является кроссплатформенным и работает на различных платформах. Windows, Linux, macOS и Solaris сред. Jenkins написано в Java и теперь распространяется как Jenkins LTS предназначен для стабильного использования в производственной среде. Его основное назначение — мониторинг любых задач, будь то проверка системы контроля версий, расписание 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 (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 (JunoIDE для 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 с Maven

После установки плагина m2e нам необходимо создать проект Maven.

Шаг 1) In Eclipse IDE, создайте новый проект, выбрав Файл | Новое | Прочее из Eclipse .

Шаг 2) На Новое диалоговое окно, выберите Специалист | Проект Maven и нажмите «Далее».

Установите Maven и используйте его с TestNG Selenium

Шаг 3) На Новый проект Мейвен диалоговое окно выбора Создайте простой проект и нажмите «Далее».

Установите Maven и используйте его с TestNG Selenium

Шаг 4) Введите WebdriverTest в Идентификатор группы: и Идентификатор артефактаи нажмите «Готово».

Установите Maven и используйте его с TestNG Selenium

Шаг 5) Eclipse создаст ВебдрайверТест со следующей структурой:

Установите Maven и используйте его с TestNG Seleniuml

Шаг 6) Щелкните правой кнопкой мыши по Системная библиотека JRE И выберите Основные свойства в меню.

Установите Maven и используйте его с TestNG Selenium

На Свойства системной библиотеки JRE диалоговое окно, убедитесь, что JRE рабочей области по умолчанию Выберите нужный пункт и нажмите ОК.

Установите Maven и используйте его с TestNG Selenium

Шаг 7) Выбрать пом.xml от Обозреватель проекта.

Установите 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 Класс. Введите имя пакета как «example» и «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

Обновите проект и убедитесь, что файл отображается в дереве файлов. Проводник пакетов (правый клик по проекту – Обновить).

Установите 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 и выберите соответствующий пункт. Беги как | Maven-тестMaven выполнит тест из проекта.

Установите Maven и используйте его с TestNG Selenium

Убедитесь, что сборка успешно завершилась.

Как интегрироваться Jenkins с Selenium Вебдрайвер

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

Установка

Шаг 1) Перейдите на https://www.jenkins.io/download/ и загрузите правильный Jenkins Пакет LTS для вашей ОС. Установите. Jenkins.

Интеграция Jenkins С Selenium Вебдрайвер

Шаг 2) расстегнуть молнию Jenkins в указанную папку. Запустите исполняемый файл, как показано на следующем скриншоте:

Интеграция Jenkins С Selenium Вебдрайвер

Шаг 3) В Jenkins Установка нажмите на Следующая .

Интеграция Jenkins С Selenium Вебдрайвер

Шаг 4) Нажмите на Установите кнопку в конце.

Интеграция Jenkins С Selenium Вебдрайвер

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

Интеграция Jenkins С Selenium Вебдрайвер

Шаг 6) Нажмите на Новый элемент ссылка для создания задания CI.

Интеграция Jenkins С Selenium Вебдрайвер

Шаг 7) Выберите переключатель «Проект Maven», как показано на следующем снимке экрана:

Интеграция Jenkins С Selenium Вебдрайвер

Использование сборки Проект Maven вариант, Jenkins Поддерживает сборку и тестирование проектов Maven.

Шаг 8) Нажмите кнопку ОК. В системе будет создано новое задание с именем «WebdriverTest». Jenkins Панель приборов.

Интеграция Jenkins С Selenium Вебдрайвер

Шаг 9) Перейдите на Управление Jenkins => Настроить систему как показано на следующем снимке экрана.

Интеграция Jenkins С Selenium Вебдрайвер

Нажмите «Установки JDK» и настройте JDK, как показано на следующем снимке экрана:

Интеграция Jenkins С Selenium WebDrive

Шаг 10) Перейдите на сайт Построить раздел новой работы.

  • В Корень POM В текстовое поле введите полный путь к файлу pom.xml.
  • В разделе «Цели и параметры» введите «clean test».

Интеграция Jenkins С Selenium Вебдрайвер

Шаг 11) Нажмите на Применить .

Интеграция Jenkins С Selenium Вебдрайвер

Шаг 12) На странице проекта WebdriverTest нажмите кнопку Построить сейчас ссылку.

Интеграция Jenkins С Selenium Вебдрайвер

Maven построит проект. Тогда это будет иметь TestNG выполнить тестовые случаи.

Шаг 13) После завершения процесса сборки, в Jenkins На панели управления нажмите на ВебдрайверТест проект.

Интеграция 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 «Путькпапкебиблиотеки\lib\*;Путькпапкеbin\bin» org.testng.TestNG testng.xml

Jenkins для автоматического выполнения

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

Jenkins для автоматического выполнения

Преимущества использования Jenkins

  1. Раннее выявление проблем – ошибки можно обнаружить на ранней стадии разработки программного обеспечения.
  2. Автоматическая интеграция – для интеграции всех изменений не требуется никаких дополнительных усилий.
  3. Установщик – развертываемая система, доступная на любом этапе разработки.
  4. Ведется учет – сохраняются данные о предыдущих постройках.
  5. Поддержка и плагины – одна из причин JenkinsПопулярность приложения обусловлена ​​наличием обширной поддержки сообщества. Также доступно множество готовых плагинов, которые помогают расширить его функциональность.

Часто задаваемые вопросы (FAQ)

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Это сокращает циклы обратной связи, снижает затраты на инфраструктуру и обеспечивает полное покрытие за счет планирования полной регрессионной проверки в ночных сборках.

Подведем итог этой публикации следующим образом: