Selenium Интеграция с Maven и Jenkins
⚡ Умно обобщение
Maven Jenkins Selenium Интеграцията създава автоматизиран процес на непрекъснато тестване, където Maven управлява зависимостите и жизнения цикъл на проекта, 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, както е показано на следната екранна снимка:
Стъпка 3) Кликнете върху Напред бутон и завършете инсталацията.
Определен Eclipse с Мейвън
След като плъгинът m2e е инсталиран, сега трябва да създадем Maven проект.
Стъпка 1) In Eclipse IDE, създайте нов проект, като изберете досие | НОВ | Други от Eclipse меню.
Стъпка 2) От НОВ диалогов прозорец, изберете Maven | Проект Maven и щракнете върху Напред.
Стъпка 3) От Нов проект Maven избор на диалогов прозорец Създайте прост проект и щракнете върху Напред.
Стъпка 4) Въведете WebdriverTest Идент. № на групата: и Идент. № на артефакт: и щракнете върху „Готово“.
Стъпка 5) Eclipse ще създаде WebdriverTest със следната структура:
Стъпка 6) Кликнете с десния бутон върху JRE системна библиотека И изберете Имоти от менюто.
От Свойства за JRE системна библиотека диалогов прозорец, уверете се Работно пространство по подразбиране JRE е избрано и щракнете върху OK.
Стъпка 7) Изберете pom.xml от Project Explorer.
Файлът pom.xml ще се отвори в секцията „Редактор“.
Стъпка 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“ в Име: текстово поле и щракнете върху завършеност бутон, както е показано на следната екранна снимка:
Стъпка 10) Eclipse ще създаде класа NewTest, както е показано на следната екранна снимка:
Стъпка 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, който посочва, че трябва да изпълните само един тест с името Нов тест както е показано на следната екранна снимка:
Актуализирайте проекта и се уверете, че файлът се появява в дървото Изследовател на пакети (щракнете с десния бутон върху проекта – Refresh).
Стъпка 13) Сега трябва да проведете теста през това testng.xml.
И така, отидете на Изпълнете конфигурации и създайте ново стартиране TestNG, изберете проекта, задайте полето апартамент as testng.xmlи щракнете върху „Изпълни“.
Уверете се, че изграждането завършва успешно.
Стъпка 14) Освен това, трябва да добавим
- maven-компилатор-плъгин
- maven-surefire-плъгин
- testng.xml
към pom.xml.
Maven-surefire-plugin се използва за конфигуриране и изпълнение на тестове. Тук плъгинът се използва за конфигуриране на testing.xml за TestNG тествайте и генерирайте отчети за тестове.
Maven-compiler-plugin се използва за компилиране на кода и за използване на определена JDK версия за компилация. Добавете всички зависимости от следния фрагмент на код към pom.xml в възел:
Стъпка 15) За да стартирате тестовете в жизнения цикъл на Maven, щракнете с десния бутон върху проекта WebdriverTest и изберете Стартирай като | Тест на MavenMaven ще изпълни теста от проекта.
Уверете се, че изграждането завършва успешно.
Как да се интегрира Jenkins с Selenium уебдрайвер
Ето стъпките за инсталиране Jenkins LTS и го конфигурирайте да изпълнява Maven с TestNG Selenium.
Инсталация
Стъпка 1) Отиди https://www.jenkins.io/download/ и изтеглете правилния Jenkins LTS пакет за вашата операционна система. Инсталирайте. Jenkins.
Стъпка 2) Отварям се Jenkins в указана папка. Стартирайте exe файла, както е показано на следната екранна снимка:
Стъпка 3) в Jenkins Структура прозорец, щракнете върху Напред бутон.
Стъпка 4) Кликнете върху Инсталирайте бутон в края.
Стъпка 5) След като инсталацията приключи, отидете до Jenkins Табло за управление (http://localhost:8080 по подразбиране) в прозореца на браузъра.
Стъпка 6) Кликнете върху Нов елемент връзка за създаване на CI работа.
Стъпка 7) Изберете радио бутона за проект Maven, както е показано на следната екранна снимка:
Използване на Build a Проект Maven опция, Jenkins поддържа изграждането и тестването на Maven проекти.
Стъпка 8) Щракнете върху бутона OK. В Jenkins Табло за управление.
Стъпка 9) Отиди Управление Jenkins => Конфигуриране на системата както е показано на следващата екранна снимка.
Кликнете върху JDK инсталации и конфигурирайте JDK, както е на следната екранна снимка:
Стъпка 10) Отидете в Изграждане раздел от новата работа.
- в Корен POM текстово поле, въведете пълния път до pom.xml
- В секцията Цели и опции въведете „чист тест“
Стъпка 11) Кликнете върху Кандидатствай бутон.
Стъпка 12) На страницата на проекта WebdriverTest щракнете върху Изградете сега връзка.
Maven ще изгради проекта. Тогава ще има TestNG изпълнете тестовите случаи.
Стъпка 13) След като процесът на изграждане приключи, в Jenkins Кликнете върху таблото за управление WebdriverTest проект.
Стъпка 14) Страницата на проекта WebdriverTest показва хронологията на изграждането и връзки към резултатите, както е показано на следната екранна снимка:
Стъпка 15) Кликнете върху връзката „Последен резултат от теста“, за да видите резултатите от теста, както е показано на следната екранна снимка:
Стъпка 16) Изберете конкретна компилация и ще видите текущото състояние, като кликнете върху „конзолен изход".
Scheduling Jenkins за автоматично изпълнение
Планиране на компилации (Selenium тестове) е една от важните характеристики на Jenkins, където автоматично задейства изграждането въз основа на определени критерии. Jenkins предоставя множество начини за задействане на процеса на изграждане в конфигурацията на Build Trigger.
Например:
Въведете 0 23 * * * в текстовото поле График, както е показано на следващата екранна снимка. Това ще задейства процеса на изграждане всеки ден в 11 часа
Използването на Jenkins без Мейвън
Да се изпълни чисто TestNG скрипт в Jenkins, въведете следното в build:
D:>java -cp “Pathtolibfolder\lib\*;Pathtobinfolder\bin” org.testng.TestNG testng.xml
- Щракнете върху бутона Запиши.
- Забележка: Действителният път до папките lib и bin трябва да бъде добавен в горната команда.
- След запазване на командата, Jenkins ще изгради проекта в предварително зададеното време и тази команда ще бъде изпълнена с помощта на TestNG.
- Резултатът ще бъде съхранен в персонализиран HTML файл с отчет, който може да бъде изпратен по имейл чрез Jenkins конфигурация.
- Изходът на кода ще бъде:
Предимства от използването Jenkins
- Ранно откриване на проблеми – грешки могат да бъдат открити в ранната фаза на разработка на софтуер.
- Автоматична интеграция – не са необходими отделни усилия за интегриране на всички промени.
- Инсталатор – разгръщаща се система, достъпна във всеки момент от разработката.
- Записи – поддържат се записи за минали конструкции.
- Поддръжка и плъгини – една от причините за JenkinsПопулярността на [име на инструмента] се дължи на наличието на голяма общностна подкрепа. Предлагат се и много готови плъгини, които ви помагат да разширите функционалността му.




































