Непрерывная интеграция 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. Непрерывная интеграция — это практика разработки, цель которой — убедиться в правильности программного обеспечения. После каждой фиксации автоматически запускается набор тестов, которые проверяют программное обеспечение, чтобы убедиться, что оно работает без сбоев. Если какой-либо тест не пройден, мы немедленно получим сообщение о том, что “сборка не работает”.
Проще говоря, непрерывная интеграция — это процесс проверки правильности программного обеспечения.
Некоторые из инструментов непрерывной интеграции: Jenkins, TeamCity, Bamboo , Travis, CircleCi, Bitbucket, CruiseControl
Что такое Maven
Maven, слово на идише, означающее “накопитель знаний”. Maven — это инструмент автоматизации сборки, используемый в основном для проектов Java. Он помогает в создании программного обеспечения, он описывает, как создается программное обеспечение, и описывает его зависимости. Он динамически загружает библиотеки Java и подключаемые модули Maven из одного или нескольких репозиториев, таких как центральный репозиторий Maven 2, и сохраняет их в локальном кэше. Мы используем maven в Selenium в качестве инструмента сборки или инструмента управления проектами. Он помогает управлять всеми зависимостями проекта и обеспечивает простой процесс сборки.
Основные цели Maven заключаются в следующем:
- Облегчение процесса сборки
- Предоставление единообразной системы сборки
- Предоставление качественной информации о проекте
- Предоставление рекомендаций по разработке передового опыта
- Разрешение прозрачного перехода на новые функции
На данный момент мы узнали, что такое непрерывная интеграция и что такое Maven. Если вы сидите за своей системой и пытаетесь внедрить, давайте приступим к реализации нижеуказанных 9 шагов.
ШАГ 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»
Выберите Maven Project и нажмите Далее
.
Установите флажок “Создать простой проект и нажмите Далее
Структура проекта выглядит так, как показано на изображении ниже
3.2 Настройте автоматически созданный файл pom.xml, чтобы включить другие jar-файлы плагинов для процесса сборки. Его можно найти в корне проекта Maven, как показано на изображении ниже.
В проекте maven мы используем файл POM для добавления необходимых зависимостей. Дважды щелкните файл pom.xml и перейдите на вкладку pom.xml
Добавьте приведенную ниже зависимость 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> |
3.3 Добавление jar-файлов TestNG в зависимость активирует TestNG в вашем проекте.
Создайте класс TestNG и сгенерируйтеФайл testng.xml . Чтобы выполнить этот шаг, перейдите по ссылке ниже.
Как создать класс TestNG и сгенерировать файл testng.xml
Скопируйте приведенный ниже код и поместите его в свой Новый тест.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< ;/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.
7.4 Перейдите в раздел «Управление Jenkins» -> «Настроить систему», укажите правильный путь к исполняемому файлу Git
ШАГ 8. Создайте проект Maven в Jenkins и создайте задание из проекта Git. Выполните следующие шаги
Мы настроили плагин GIT в Jenkins. Теперь давайте создадим проект Maven и создадим задание из проекта Git
8.1 Нажмите «Новые элементы» –> введите имя проекта (скажем, GitProject) –> выберите проект Freestyle –> нажмите «ОК»
< р>
Вы будете перенаправлены на страницу конфигурации. Перейдите на вкладку «Управление исходным кодом».
8.2 В разделе «Управление исходным кодом» выберите вариант «Git». (Это должно быть видно после того, как вы успешно установили подключаемый модуль Git — что мы сделали на шаге 7.3).
8.3Укажите свой URL-адрес репозитория Git (который мы зафиксировали на шаге 4 — посмотрите видео о том, как создать репозиторий в Git и скопировать URL-адрес репозитория Git), выберите свои учетные данные и сохраните изменения
Jenkins извлечет исходный код проекта из удаленный сервер Git на основе URL-адреса репозитория, который мы передали.
8.4 В сборке — нажмите «Добавить шаг сборки» и выберите «Вызвать цели Maven верхнего уровня» и передайте «чистая установка. strong>' в качестве целей. Нажмите кнопку «Дополнительно» и передайте значение POM как ‘pom.xml’
Примечание. В Git Plug-in задайте глобальные git user.name и user.email в соответствии с вашими глобальными параметрами конфигурации
Кроме того, вы можете передавать действия после сборки для создания отчетов. Чтобы создать HTML-отчеты TestNG, выберите «Опубликовать отчеты TestNG», щелкнув «Добавить действие после сборки» и передав значение как «**/testng-results.xml»
И, наконец, нажмите «Сохранить».< р>Узнайте, как настроить простой проект maven в Jenkins
Структура проекта Jenkins Continuous Integration в Eclipse выглядит так, как показано ниже:
< h3 id=Running-Maven-Project-From-Jenkins>Запуск проекта Maven из Jenkins
ШАГ 9. Выполнение проекта Maven из Jenkins. Выполните следующие шаги
Давайте выполним его сейчас.
9.1 Нажмите ссылку «Build Now». Он вызовет файл pom.xml.
9.2Щелкните правой кнопкой мыши номер сборки (в моем случае это № 1) и щелкните вывод консоли, чтобы увидеть результат.
Вы можете увидеть Build Статус «Успех» при выводе на консоль.
Кроме того, вы можете запланировать задания Jenkins и отправить уведомление по электронной почте после запуска сборки.
Чтобы запланировать задание Jenkins:
Откройте задание Jenkins — Настроить — Триггеры сборки — установите флажок «Периодически собирать» и введите шаблон задания Cron
Например: чтобы запускать задание каждую минуту, вам нужно ввести * * * * * *
Дженкинс работает по шаблону Cron. Узнайте больше о шаблоне задания Cron — вики-ссылка
Для отправки уведомления по электронной почте:
перейдите в раздел «Управление Jenkins» — «Настроить» — «Выбрать уведомление по электронной почте» — «Настроить конфигурацию SMTP».
Вы получите уведомление по электронной почте всякий раз, когда сборка проходит успешно или не удается.
Вывод:
Непрерывная интеграция Selenium с Jenkins позволяет нам запускать наши скрипты при каждом развертывании. Jenkins позволяет нам сохранять историю выполнения и отчеты. Я надеюсь, что этот пост помог вам в достижении ваших целей. Надеюсь, вы успешно внедрили Selenium Continuous Integration. Пожалуйста, не стесняйтесь обращаться к нам, если у вас есть какие-либо вопросы.
Вот несколько отобранных статей, которые вы можете прочитать дальше:
- Как запускать скрипты Selenium с помощью BrowserStack
- Изучите инструмент кросс-браузерного тестирования< li>Полное руководство – Инструмент автоматизации графического интерфейса пользователя – Froglogic Squish
- Самое популярное – Selenium Вопросы для собеседования
- Вопросы для собеседования с TestNG
- Почему вы выбираете тестирование программного обеспечения в качестве карьеры
- Общие вопросы для собеседования
TAG: qa