НЕПРЕРЫВНАЯ ИНТЕГРАЦИЯ SELENIUM С JENKINS [SELENIUM — MAVEN — GIT — JENKINS] — ПОШАГОВОЕ РУКОВОДСТВО

Непрерывная интеграция Selenium с Jenkins с использованием GIT

В этом посте я пытаюсь сохранить полное руководство по непрерывной интеграции Selenium (сквозной интеграции) с Jenkins. Это руководство по реализации непрерывной интеграции с Jenkins, Maven и TestNG с помощью GitHub. Существует множество инструментов и методов, которые можно интегрировать в среду CI. Здесь я использую Selenium WebDriver, Java, TestNG, Maven и интегрирую их с Jenkins. Чтобы внедрить непрерывную интеграцию, выполните 9 шагов, которые я упомянул ниже.

  • 1. Что такое непрерывная интеграция
  • 2. Что такое Maven
  • 3. Создание проекта Maven в Eclipse
  • 4. Что такое GIT
  • 5. Что такое Дженкинс
  • 6. Установка Дженкинса
  • 7. Настройка Jenkins для проекта Maven
  • 8. Настройка подключаемого модуля GIT в Jenkins
  • 9. Запуск проекта Maven из Jenkins

Что такое непрерывная интеграция

Непрерывная интеграция сокращенно называется CI. Непрерывная интеграция — это практика разработки, цель которой — убедиться в правильности программного обеспечения. После каждой фиксации автоматически запускается набор тестов, которые проверяют программное обеспечение, чтобы убедиться, что оно работает без сбоев. Если какой-либо тест не пройден, мы немедленно получим сообщение о том, что “сборка не работает”.

Проще говоря, непрерывная интеграция — это процесс проверки правильности программного обеспечения.

НЕПРЕРЫВНАЯ ИНТЕГРАЦИЯ SELENIUM С JENKINS [SELENIUM – MAVEN – GIT – JENKINS] – ПОШАГОВОЕ РУКОВОДСТВО

Некоторые из инструментов непрерывной интеграции: Jenkins, TeamCity, Bamboo , Travis, CircleCi, Bitbucket, CruiseControl

Что такое Maven

Maven, слово на идише, означающее “накопитель знаний”. Maven — это инструмент автоматизации сборки, используемый в основном для проектов Java. Он помогает в создании программного обеспечения, он описывает, как создается программное обеспечение, и описывает его зависимости. Он динамически загружает библиотеки Java и подключаемые модули Maven из одного или нескольких репозиториев, таких как центральный репозиторий Maven 2, и сохраняет их в локальном кэше. Мы используем maven в Selenium в качестве инструмента сборки или инструмента управления проектами. Он помогает управлять всеми зависимостями проекта и обеспечивает простой процесс сборки.

Основные цели Maven заключаются в следующем:

  • Облегчение процесса сборки
  • Предоставление единообразной системы сборки
  • Предоставление качественной информации о проекте
  • Предоставление рекомендаций по разработке передового опыта
  • Разрешение прозрачного перехода на новые функции

На данный момент мы узнали, что такое непрерывная интеграция и что такое Maven. Если вы сидите за своей системой и пытаетесь внедрить, давайте приступим к реализации нижеуказанных 9 шагов.

SELENIUM НЕПРЕРЫВНАЯ ИНТЕГРАЦИЯ С JENKINS [SELENIUM – MAVEN – GIT – JENKINS] – ШАГ ЗА ШАГОМ РУКОВОДСТВО

ШАГ 1. Откройте IDE Eclipse, чтобы начать сборку проекта maven

Создание проекта Maven в Eclipse

Установка проекта Maven в Eclipse:

ШАГ 2. Установка Maven в Eclipse. Перейдите по этой ссылке

Итак, Maven установлен в Eclipse. Теперь давайте создадим проект Maven в Jenkins.

Создание проекта Maven в Jenkins:

ШАГ 3. Создайте новый проект Maven в Eclipse — выполните следующие шаги

3.1 Чтобы создать проект, щелкните правой кнопкой мыши проводник пакетов и выберите «Создать» — «Другое».

Убедитесь, что TestNG уже установлен. Проверьте это, чтобы увидеть «Как установить TestNG в Eclipse», и перейдите по этой ссылке для «Полного руководства по TestNG»

SELENIUM НЕПРЕРЫВНАЯ ИНТЕГРАЦИЯ С JENKINS [SELENIUM – MAVEN – GIT – JENKINS] – ПОШАГОВОЕ РУКОВОДСТВО

Выберите Maven Project и нажмите Далее

.SELENIUM НЕПРЕРЫВНАЯ ИНТЕГРАЦИЯ С JENKINS [SELENIUM – MAVEN – GIT – JENKINS] – ШАГ ЗА ШАГОМ РУКОВОДСТВО

Установите флажок “Создать простой проект и нажмите Далее

SELENIUM НЕПРЕРЫВНАЯ ИНТЕГРАЦИЯ С JENKINS [SELENIUM – MAVEN – GIT – JENKINS] – STEP BY STEP GUIDE

Структура проекта выглядит так, как показано на изображении ниже

SELENIUM НЕПРЕРЫВНАЯ ИНТЕГРАЦИЯ С JENKINS [SELENIUM – MAVEN – GIT – JENKINS] – ШАГ ЗА ШАГОМ GUIDE

3.2 Настройте автоматически созданный файл pom.xml, чтобы включить другие jar-файлы плагинов для процесса сборки. Его можно найти в корне проекта Maven, как показано на изображении ниже.

В проекте maven мы используем файл POM для добавления необходимых зависимостей. Дважды щелкните файл pom.xml  и перейдите на вкладку  pom.xml 

SELENIUM НЕПРЕРЫВНАЯ ИНТЕГРАЦИЯ С JENKINS [SELENIUM – MAVEN – GIT – JENKINS] – ПОШАГОВОЕ РУКОВОДСТВО

Добавьте приведенную ниже зависимость maven (Selenium и TestNG), чтобы позволить maven загрузить необходимые файлы jar для вашего проекта.

12345678910111213141516

<dependencies>  <!– Selenium –>  <dependency>     <groupId>org.seleniumhq.selenium</groupId>     <artifactId>selenium-java</artifactId>     <version>2.53.1</версия>  </dependency>  <!– TestNG –>  <dependency>     <groupId>org.testng</groupId>     <artifactId>testng</artifactId>     <version>6.8</version>     <scope>test</scope>  </dependency></dependencies>

SELENIUM НЕПРЕРЫВНАЯ ИНТЕГРАЦИЯ С JENKINS [SELENIUM – MAVEN – GIT – JENKINS] – ШАГ ЗА ШАГОМ

3.3 Добавление jar-файлов TestNG в зависимость активирует TestNG в вашем проекте.

Создайте класс TestNG и сгенерируйтеФайл  testng.xml . Чтобы выполнить этот шаг, перейдите по ссылке ниже.

Как создать класс TestNG и сгенерировать файл testng.xml

SELENIUM НЕПРЕРЫВНАЯ ИНТЕГРАЦИЯ С JENKINS [SELENIUM – MAVEN – GIT – JENKINS] – ПОШАГОВОЕ РУКОВОДСТВО

Скопируйте приведенный ниже код и поместите его в свой Новый тест.class

12345678910111213141516171819202122232425262728293031

пакетные тесты; импорт org.openqa.selenium.WebDriver; импорт org.openqa.selenium.firefox.FirefoxDriver; импорт org.testng.annotations.Test; импорт org.testng.annotations.BeforeClass; импорт org.testng.annotations.AfterClass; открытый класс NewTest {общедоступный драйвер WebDriver; @Test public void openMyBlog() {driver.get(“https://www.softwaretestingmaterial.com/”); }    @BeforeClass  public void beforeClass() {    System.setProperty(“webdriver.gecko.driver”, “D:\Selenium\Drivers\geckodriver.exe”); драйвер = новый FirefoxDriver(); }   @AfterClass  public void afterClass() {  driver.quit(); } }

testng.xml: testng.xml-файл выглядит так, как показано ниже. Скопируйте и поместите его в свой testng.xml

12345678

<?xml version=”1.0″ encoding=”UTF-8″?><suite name=”Suite” parallel=”false”>  <test name=”Test”>    <classes> <class name=”tests.NewTest”/>    </classes>  </test> <!– Тест –></suite> <!– Suite –>

Чтобы запустить проект с помощью testng.xml, щелкните правой кнопкой мыши на 'testng. xml” и перейдите к Run As – TestNG Suite

3.4 Добавление maven-compiler-plugin и maven-surefire-plugin в файл pom.xml файл

Чтобы запустить проект с использованием pom.xml, нам нужно добавить еще несколько записей в файл pom.xml. Нам нужно добавить «maven-compiler-plugin» и «maven-surefire-plugin»

pom.xml.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152

<project xmlns=”http://maven.apache.org/POM/4.0.0″ xmlns:xsi=”http://www.w3.org/2001/XMLSchema- instance” xsi:schemaLocation=”http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”>  <modelVersion>4.0.0&lt ;/modelVersion>  <groupId>mavenPackage</groupId>  <artifactId>MavenProject</artifactId>  <version>0.0.1-SNAPSHOT</version>    <dependencies><!– Selenium –><dependency>  <groupId>org.seleniumhq.selenium</groupId>  <artifactId>selenium-java</artifactId>  <version>2.53.1</version></dependency><!– TestNG –><dependency>  <groupId>org.testng</groupId>  <artifactId>testng</artifactId>  <version>6.8</version>  <scope>test</scope></dependency >  </dependencies>    <build>   <plugins>   <plugin>   <groupId>org.apache.maven.plugins</groupId>           <artifactId>maven-compiler-plugin</artifactId>           <version>3.6.1</version>           <configuration>           <source>1.8</source>           <target>1.8</target>            </configuration>  </configuration ;/plugin>     <plugin>   <groupId>org.apache.maven.plugins</groupId>           <artifactId>maven-surefire-plugin</artifactId>           <version>2.20</version>           <configuration> <suiteXmlFiles>           <suiteXmlFile>testng.xml</suiteXmlFile><!– <suiteXmlFile>src/main/resources/testng.xml</suiteXmlFile> –>           </suiteXmlFiles>           </configuration>   </plugin>   </plugins>    </build> </project>

Примечание. В процессе сборки будет создан проект Maven и запущен базовый testng.xml  во время теста Maven. После того, как вы настроили Maven и загрузили все соответствующие jar-файлы, щелкните проект правой кнопкой мыши и выберите run – Maven Clean.а затем попробуйте установить и построить. Если вы можете собирать/очищать/устанавливать свои проекты Maven, значит, вы успешно установили/настроили Maven.

Что такое GIT

Git — это наиболее широко используемая современная система контроля версий в мире для отслеживания изменений в любом наборе файлов. Git — проект с открытым исходным кодом. Он нацелен на скорость, целостность данных и поддержку распределенных нелинейных рабочих процессов. Это позволяет вам зафиксировать вашу работу локально, а затем синхронизировать вашу копию репозитория с копией на сервере.

ШАГ 4. Установите GIT в Eclipse и добавьте (загрузите) проект Maven на GitHub

< /blockquote>

Вот видеоруководство по теме «Как установить GitHub в Eclipse и как загрузить проект на GitHub»:

Пожалуйста, проявите терпение. Видео загрузится через некоторое время.

Что такое Jenkins

Jenkins — это сервер автоматизации с открытым исходным кодом. Он помогает нам автоматизировать все виды задач, связанных со сборкой, развертыванием и автоматизацией любого проекта. Он кроссплатформенный и может использоваться в Windows, Mac OS, Linux и т. д. Являясь частью Selenium, мы используем его для непрерывной сборки и тестирования нашего программного обеспечения. Он используется для автоматического выполнения тестов и запланированных сборок. Используя Jenkins, мы также могли публиковать результаты и отправлять уведомления по электронной почте всем членам команды. Jenkins предоставляет услуги непрерывной интеграции и непрерывной доставки для разработки программного обеспечения.

Вот официальная ссылка на документацию Jenkins.

На данный момент мы установили Maven, создали проект Maven в Eclipse, установили GIT в Eclipse и загрузили проект Maven на GitHub. Также мы узнали, что такое Continuous Integration, Maven, GIT и Jenkins. Теперь мы установим Jenkins и настроим его.

Установка Jenkins

ШАГ 5. Установите Jenkins — перейдите по этой ссылке

Ранее мы публиковали пост об установке Jenkins, см. этот пост о том, как установить Jenkins

Настройка Jenkins для проекта Maven

ШАГ 6. Настройка Jenkins для проекта Maven. Перейдите по этой ссылке

Ранее мы опубликовали пост о настройке Jenkins для проекта maven, см. этот пост о настройке Jenkins для проекта maven

На данный момент мы установили и создали проект Maven в Eclipse, установили и загрузили проект Maven на GitHub и установил и настроил Jenkins для Maven Project. Теперь мы настроим подключаемый модуль GIT в Jenkins.

Настройка подключаемого модуля GIT в Jenkins

ШАГ 7. Настройка GIT Плагин в Jenkins — следуйте инструкциям ниже

7.1 Перейти к Управлению подключаемыми модулями –> Отфильтровать список подключаемых модулей, доступных с помощью “Подключаемого модуля Git”.

Подробнее о подключаемом модуле Git

7.2 Отметьте подключаемый модуль Git и нажмите на кнопке “Установить без перезагрузки”

На приведенном ниже снимке экрана видно, что я уже установил его.

7.3 После завершения установки перезапустите Jenkins, выполнив с помощью команды в браузере. http://localhost:8080/jenkins/restart

После перезапуска Jenkins параметр Git должен быть доступен в разделе «Управление исходным кодом» при настройке задания в Jenkins, и мы увидим это на шаге 8.

SELENIUM НЕПРЕРЫВНАЯ ИНТЕГРАЦИЯ С JENKINS [SELENIUM – MAVEN – GIT – JENKINS] – ПОШАГОВОЕ РУКОВОДСТВО

7.4  Перейдите в раздел «Управление Jenkins» -> «Настроить систему», укажите правильный путь к исполняемому файлу Git

ШАГ 8. Создайте проект Maven в Jenkins и создайте задание из проекта Git. Выполните следующие шаги

Мы настроили плагин GIT в Jenkins. Теперь давайте создадим проект Maven и создадим задание из проекта Git

8.1 Нажмите «Новые элементы» –> введите имя проекта (скажем, GitProject) –> выберите проект Freestyle –> нажмите «ОК»

< р>SELENIUM НЕПРЕРЫВНАЯ ИНТЕГРАЦИЯ С JENKINS [SELENIUM – MAVEN – GIT – JENKINS] – ШАГ ЗА ШАГОМ РУКОВОДСТВО

Вы будете перенаправлены на страницу конфигурации. Перейдите на вкладку «Управление исходным кодом».

8.2 В разделе «Управление исходным кодом» выберите вариант «Git». (Это должно быть видно после того, как вы успешно установили подключаемый модуль Git — что мы сделали на шаге 7.3).

8.3Укажите свой URL-адрес репозитория Git (который мы зафиксировали на шаге 4 — посмотрите видео о том, как создать репозиторий в Git и скопировать URL-адрес репозитория Git), выберите свои учетные данные и сохраните изменения

Jenkins извлечет исходный код проекта из удаленный сервер Git на основе URL-адреса репозитория, который мы передали.

8.4 В сборке — нажмите «Добавить шаг сборки» и выберите «Вызвать цели Maven верхнего уровня» и передайте «чистая установка. strong>' в качестве целей. Нажмите кнопку «Дополнительно» и передайте значение POM как ‘pom.xml

SELENIUM НЕПРЕРЫВНАЯ ИНТЕГРАЦИЯ С JENKINS [SELENIUM – MAVEN – GIT – JENKINS] – ШАГ ЗА ШАГОМ РУКОВОДСТВО

Примечание. В Git Plug-in задайте глобальные git user.name и user.email в соответствии с вашими глобальными параметрами конфигурации

Кроме того, вы можете передавать действия после сборки для создания отчетов. Чтобы создать HTML-отчеты TestNG, выберите «Опубликовать отчеты TestNG», щелкнув «Добавить действие после сборки» и передав значение как «**/testng-results.xml»

И, наконец, нажмите «Сохранить».< р>Узнайте, как настроить простой проект maven в Jenkins

Структура проекта Jenkins Continuous Integration в Eclipse выглядит так, как показано ниже:

SELENIUM НЕПРЕРЫВНАЯ ИНТЕГРАЦИЯ С JENKINS [SELENIUM – MAVEN – GIT – JENKINS] – ПОШАГОВОЕ РУКОВОДСТВО

< h3 id=Running-Maven-Project-From-Jenkins>Запуск проекта Maven из Jenkins

ШАГ 9. Выполнение проекта Maven из Jenkins. Выполните следующие шаги

Давайте выполним его сейчас.

9.1 Нажмите ссылку «Build Now». Он вызовет файл pom.xml.

SELENIUM НЕПРЕРЫВНАЯ ИНТЕГРАЦИЯ С JENKINS [SELENIUM – MAVEN – GIT – JENKINS] – ПОШАГОВОЕ РУКОВОДСТВО

9.2Щелкните правой кнопкой мыши номер сборки (в моем случае это № 1) и щелкните вывод консоли, чтобы увидеть результат.

SELENIUM НЕПРЕРЫВНАЯ ИНТЕГРАЦИЯ С JENKINS [SELENIUM – MAVEN – GIT – JENKINS] – ПОШАГОВОЕ РУКОВОДСТВО

Вы можете увидеть Build Статус «Успех» при выводе на консоль.

SELENIUM НЕПРЕРЫВНАЯ ИНТЕГРАЦИЯ С JENKINS [SELENIUM – MAVEN – GIT – JENKINS] – ШАГ ЗА ШАГОМ РУКОВОДСТВО

Кроме того, вы можете запланировать задания Jenkins и отправить уведомление по электронной почте после запуска сборки.

Чтобы запланировать задание Jenkins:

Откройте задание Jenkins — Настроить — Триггеры сборки — установите флажок «Периодически собирать» и введите шаблон задания Cron

Например: чтобы запускать задание каждую минуту, вам нужно ввести * * * * * *

Дженкинс работает по шаблону Cron. Узнайте больше о шаблоне задания Cron — вики-ссылка

Для отправки уведомления по электронной почте:

перейдите в раздел «Управление Jenkins» — «Настроить» — «Выбрать уведомление по электронной почте» — «Настроить конфигурацию SMTP».

Вы получите уведомление по электронной почте всякий раз, когда сборка проходит успешно или не удается.

Вывод:

Непрерывная интеграция Selenium с Jenkins позволяет нам запускать наши скрипты при каждом развертывании. Jenkins позволяет нам сохранять историю выполнения и отчеты. Я надеюсь, что этот пост помог вам в достижении ваших целей. Надеюсь, вы успешно внедрили Selenium Continuous Integration. Пожалуйста, не стесняйтесь обращаться к нам, если у вас есть какие-либо вопросы.

Вот несколько отобранных статей, которые вы можете прочитать дальше:

  • Как запускать скрипты Selenium с помощью BrowserStack
  • Изучите инструмент кросс-браузерного тестирования< li>Полное руководство – Инструмент автоматизации графического интерфейса пользователя – Froglogic Squish
  • Самое популярное – Selenium Вопросы для собеседования
  • Вопросы для собеседования с TestNG
  • Почему вы выбираете тестирование программного обеспечения в качестве карьеры
  • Общие вопросы для собеседования

TAG: qa

От QA genius

Adblock
detector