atesting.ru Блог Непрерывная интеграция Selenium с Jenkins [Selenium — Maven — Git — Jenkins] — Пошаговое руководство

Непрерывная интеграция Selenium с Jenkins [Selenium — Maven — Git — Jenkins] — Пошаговое руководство

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

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

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

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

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

 Непрерывная интеграция Selenium с Jenkins [Selenium & ndash; Maven & ndash; Git & ndash; Jenkins] & ndash; Пошаговое руководство

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

Что такое Maven

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

Основные цели Maven следующие:

  • Упрощение процесса сборки
  • Обеспечение единой системы сборки
  • Предоставление качественной информации о проекте.
  • Предоставление руководящих указаний по разработке передового опыта.
  • Обеспечение прозрачного перехода на новые функции. и что такое Maven. Если вы сидите за своей системой и пытаетесь внедрить, то давайте приступим к реализации следующих 9 шагов.

     Непрерывная интеграция Selenium с Jenkins [Selenium & ndash; Maven & ndash; Git & ndash; Jenkins] & ndash; Пошаговое руководство

    ШАГ 1. Откройте Eclipse IDE для начала создания проекта Maven

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

    Установка Maven Project в Eclipse:

    ШАГ 2: Установка Maven в Eclipse: проверьте эту ссылку

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

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

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

    3.1 Чтобы создать проект — щелкните правой кнопкой мыши Package Explorer и перейдите в New — Other

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

     Непрерывная интеграция Selenium с Jenkins [Selenium & ndash; Maven & ndash; Git & ndash; Jenkins] & ndash; Пошаговое руководство

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

     Непрерывная интеграция Selenium с Jenkins [Selenium & ndash; Maven & ndash; Git & ndash; Jenkins] & ndash; Пошаговое руководство

    Выберите ' Создать простой проект 'и нажмите Далее

     Непрерывная интеграция Selenium с Jenkins [Selenium & ndash; Maven & ndash; Git & ndash; Jenkins] & ndash; Пошаговое руководство

    Заполните идентификатор группы , артефакт Идентификатор и нажмите кнопку Готово

     Непрерывная интеграция Selenium с Jenkins [Selenium & ndash; Maven & ndash; Git & ndash; Jenkins] & ndash; Пошаговое руководство

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

    < p>

     Непрерывная интеграция Selenium с Jenkins [Selenium & ndash; Maven & ndash; Git & ndash; Jenkins] & ndash; Пошаговое руководство

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

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

    < p> Непрерывная интеграция Selenium с Jenkins [Selenium & ndash; Maven & ndash; Git & ndash; Jenkins] & ndash; Пошаговое руководство

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

    12345678910111213141516 & lt; зависимости & gt; & lt;! — Селен — & gt; & lt; зависимость & gt; & lt; groupId & gt; org.seleniumhq.selenium & lt;/groupId & gt; & lt; artifactId & gt; selenium-java & lt;/artifactId & gt; & lt; версия & gt; 2.53.1 & lt;/версия & gt; & lt;/dependency & gt; & lt;! — TestNG — & gt; & lt; зависимость & gt; & lt; groupId & gt; org.testng & lt;/groupId & gt; & lt; artifactId & gt; testng & lt;/artifactId & gt; & lt; version & gt; 6.8 & lt;/version & gt; & lt; scope & gt; test & lt;/scope & gt; & lt;/dependency & gt; & lt;/dependencies & gt;

     Непрерывная интеграция Selenium с Jenkins [Selenium & ndash; Maven & ndash; Git & ndash; Jenkins] & ndash; Пошаговое руководство

    3.3 Добавление банок TestNG в зависимость включит TestNG в вашем проекте.

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

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

     Непрерывная интеграция Selenium с Jenkins [Selenium & ndash; Maven & ndash; Git & ndash; Jenkins] & ndash; Пошаговое руководство

    Скопируйте приведенный ниже код и поместите его в свой NewTest класс

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

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

    12345678 & lt;? xml version = & # 34; 1.0 & # 34; encoding = & # 34; UTF-8 & # 34;? & gt; & lt; suite name = & # 34; Suite & # 34; parallel = & # 34; false & # 34; & gt; & lt; test name = & # 34; Test & # 34; & gt; & lt; классы & gt; & lt; class name = & # 34; tests.NewTest & # 34;/& gt; & lt;/classes & gt; & lt;/test & gt; & lt;! — Тест — & gt; & lt;/suite & gt; & lt;! — Набор — & gt;

    Чтобы запустить проект с помощью testng . xml , щелкните правой кнопкой мыши файл testng.xml и выберите «Запуск от имени» — TestNG Suite

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

    Для запуска проекта с использованием < em> pom.xml , нам нужно добавить еще несколько записей в файл pom.xml. Нам нужно добавить maven-compiler-plugin и maven-surefire-plugin

    pom.xml

    12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 & lt; project xmlns = & # 34; http: //maven.apache.org/POM/4.0.0" xmlns: xsi = & # 34; http: //www.w3.org/2001/XMLSchema-instance" xsi: schemaLocation = & # 34; http: //maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> & lt; modelVersion & gt; 4.0.0 & lt;/modelVersion & gt; & lt; groupId & gt; mavenPackage & lt;/groupId & gt; & lt; artifactId & gt; MavenProject & lt;/artifactId & gt; & lt; версия & gt; 0.0.1-SNAPSHOT & lt;/version & gt; & lt; зависимости & gt; & lt;! — Селен — & gt; & lt; зависимость & gt; & lt; groupId & gt; org.seleniumhq.selenium & lt;/groupId & gt; & lt; artifactId & gt; selenium-java & lt;/artifactId & gt; & lt; версия & gt; 2.53.1 & lt;/версия & gt; & lt;/dependency & gt; & lt;! — TestNG — & gt; & lt; зависимость & gt; & lt; groupId & gt; org.testng & lt;/groupId & gt; & lt; artifactId & gt; testng & lt;/artifactId & gt; & lt; version & gt; 6.8 & lt;/version & gt; & lt; scope & gt; test & lt;/scope & gt; & lt;/dependency & gt; & lt;/dependencies & gt; & lt; build & gt; & lt; плагины & gt; & lt; плагин & gt; & lt; groupId & gt; org.apache.maven.plugins & lt;/groupId & gt; & lt; artifactId & gt; maven-compiler-plugin & lt;/artifactId & gt; & lt; version & gt; 3.6.1 & lt;/version & gt; & lt; конфигурация & gt; & lt; source & gt; 1.8 & lt;/source & gt; & lt; target & gt; 1.8 & lt;/target & gt; & lt;/configuration & gt; & lt;/plugin & gt; & lt; плагин & gt; & lt; groupId & gt; org.apache.maven.plugins & lt;/groupId & gt; & lt; artifactId & gt; maven-surefire-plugin & lt;/artifactId & gt; & lt; version & gt; 2.20 & lt;/version & gt; & lt; конфигурация & gt; & lt; suiteXmlFiles & gt; & lt; suiteXmlFile & gt; testng.xml & lt;/suiteXmlFile & gt; & lt;! — & lt; suiteXmlFile & gt; src/main/resources/testng.xml & lt;/suiteXmlFile & gt; — & gt; & lt;/suiteXmlFiles & gt; & lt;/configuration & gt; & lt;/plugin & gt; & lt;/plugins & gt; & lt;/build & gt; & lt;/project & gt;

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

    Что такое GIT

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

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

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

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

    Что такое Jenkins

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

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

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

    Установка Jenkins

    ШАГ 5: Установите Jenkins — Проверьте эту ссылку

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

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

    ШАГ 6. Настройка Jenkins для проекта Maven — проверьте эту ссылку

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

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

    Настроим подключаемый модуль GIT в Jenkins

    ШАГ 7. Настройка подключаемого модуля GIT в Jenkins — выполните следующие действия.

    7.1 Перейдите к управлению подключаемыми модулями — & gt; Отфильтровать список подключаемых модулей, доступных с «подключаемым модулем Git».

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

    7.2 Проверьте подключаемый модуль Git и нажмите кнопку «Установить без перезапуска»

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

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

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

     Непрерывная интеграция Selenium с Jenkins [Selenium & ndash; Maven & ndash; Git & ndash; Jenkins] & ndash; Пошаговое руководство

    7.4 Go для управления Jenkins — & gt; Настройте систему, укажите правильный путь к исполняемому файлу Git

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

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

    8.1 . Нажмите «Новые элементы» — & gt; Введите название проекта (скажем, GitProject) — & gt; Выберите Freestyle Project — & gt; Нажмите «ОК»

     Непрерывная интеграция Selenium с Jenkins [Selenium & ndash; Maven & ndash; Git & ndash; Jenkins] & ndash; Пошаговое руководство

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

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

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

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

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

     Непрерывная интеграция Selenium с Jenkins [Selenium & ndash; Maven & ndash; Git & ndash; Jenkins] & ndash; Пошаговое руководство

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

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

    И, наконец, нажмите при сохранении.

    Узнайте, как настроить простой проект maven в Jenkins

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

    < p>

     Непрерывная интеграция Selenium с Jenkins [Selenium & ndash; Maven & ndash; Git & ndash; Jenkins] & ndash; Пошаговое руководство

    Запуск проекта Maven из Jenkins

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

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

    9.1 Нажмите ссылку « Создать сейчас «. Он вызовет pom.xml .

     Непрерывная интеграция Selenium с Jenkins [Selenium & ndash; Maven & ndash; Git & ndash; Jenkins] & ndash; Пошаговое руководство

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

     Непрерывная интеграция Selenium с Jenkins [Selenium & ndash; Maven & ndash; Git & ndash; Jenkins] & ndash; Пошаговое руководство

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

     Непрерывная интеграция Selenium с Jenkins [Selenium & ndash; Maven & ndash; Git & ndash; Jenkins] & ndash; Пошаговое руководство

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

    Для планирования задания Jenkins:

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

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

    Jenkins работает по шаблону Cron. Подробнее о шаблоне задания Cron — ссылка в вики

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

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

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

    Заключение:

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

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

    • Как запускать сценарии Selenium с помощью BrowserStack
    • Изучите инструмент кроссбраузерного тестирования.
    • Полное руководство — GUI Automation Tool — Froglogic Squish
    • Самые популярные — вопросы на интервью Selenium
    • Вопросы на интервью TestNG
    • Почему вы выбираете тестирование программного обеспечения в качестве карьеры.
    • Общие вопросы на собеседовании.

    TAG: qa