Selenium Continuous Integration with Jenkins [Selenium – Maven – Git-Jenkins] – przewodnik krok po kroku

Selenium Continuous Integration with Jenkins using GIT

w tym poście staram się zachować kompletny przewodnik po ciągłej integracji Selenium (End to End Integration) z Jenkins. Jest to przewodnik po implementacji ciągłej integracji z Jenkins, Maven i TestNG z GitHub. Istnieje wiele narzędzi i technik, które można zintegrować w środowisku CI. Tutaj używam Selenium WebDriver, Java, TestNG, Maven i integruję je z Jenkinsem. Aby wdrożyć ciągłą integrację, wykonaj 9 kroków, o których wspomniałem poniżej.

  • 1. Co To jest ciągła Integracja
  • 2. Co To jest Maven
  • 3. Budowanie Projektu Maven W Eclipse
  • 4. Czym jest GIT
  • 5. Co To jest Jenkins
  • 6. Instalacja Jenkinsa
  • 7. Konfigurowanie Jenkinsa dla projektu Maven
  • 8. Skonfiguruj wtyczkę GIT w Jenkinsie
  • 9. Uruchamianie projektu Maven z Jenkinsa

Co to jest ciągła Integracja

ciągła integracja jest w skrócie CI. Ciągła integracja jest praktyką programistyczną, która ma na celu zapewnienie poprawności oprogramowania. Po każdym zatwierdzeniu pakiet testów uruchamia się automatycznie i testuje oprogramowanie, aby upewnić się, czy oprogramowanie działa bez żadnych przerw. Jeśli jakikolwiek test się nie powiedzie, otrzymamy natychmiastową informację zwrotną „build is broken”.

w prostych słowach, ciągła integracja jest procesem weryfikacji poprawności oprogramowania.

ciągła Integracja

niektóre z narzędzi ciągłej integracji to Jenkins, TeamCity, Bamboo, Travis, CircleCi, Bitbucket, CruiseControl

Co to jest Maven

Maven, słowo w jidysz oznaczające „akumulator wiedzy”. Maven to narzędzie do automatyzacji kompilacji używane głównie w projektach Java. Pomaga w budowaniu oprogramowania, opisuje sposób jego budowy i opisuje jego zależności. Dynamicznie pobiera biblioteki Java i wtyczki Maven z jednego lub więcej repozytoriów, takich jak centralne repozytorium Maven 2, i przechowuje je w lokalnej pamięci podręcznej. Używamy maven w Selenium jako narzędzia do budowania lub zarządzania projektami. Pomaga w zarządzaniu wszystkimi zależnościami projektu i zapewnia łatwy proces budowania.

główne cele Maven są następujące:

  • ułatwianie procesu kompilacji
  • zapewnienie jednolitego systemu kompilacji
  • zapewnienie wysokiej jakości informacji o projekcie
  • Zapewnienie Wytycznych dotyczących rozwoju najlepszych praktyk
  • Umożliwienie przejrzystej migracji do nowych funkcji

do tej pory nauczyliśmy się, czym jest ciągła integracja, a czym Maven. Jeśli siedzisz w swoim systemie i próbujesz zaimplementować, zacznijmy wdrażać poniższe kroki 9.

 ciągła Integracja Selenium z Jenkinsem

Krok 1: Otwórz Eclipse IDE, aby rozpocząć budowę projektu maven

budowa projektu Maven w Eclipse

instalacja projektu Maven w Eclipse:

Krok 2: Instalacja Mavena w Eclipse: sprawdź ten link

więc teraz mamy Mavena zainstalowanego w Eclipse. Teraz stwórzmy projekt Maven w Jenkins.

Tworzenie projektu Maven w Jenkins:

Krok 3: Utwórz nowy projekt Maven w Eclipse-wykonaj poniższe kroki

3.1 aby utworzyć projekt – kliknij prawym przyciskiem myszy na Package Explorer i przejdź przez New-Other

upewnij się, że TestNG jest już zainstalowany. Sprawdź to, aby zobaczyć „jak zainstalować TestNG w Eclipse” i to sprawdzić ten link do „TestNG kompletny Tutorial”

zainstaluj Maven

Wybierz projekt Maven i kliknij Dalejzainstaluj Maven

zaznacz pole wyboru „Utwórz prosty projekt” i kliknij DalejUtwórz projekt Mavenwypełnij identyfikator grupy, Artefakt Id i kliknij przycisk Zakończ

Utwórz projekt Mavenstruktura projekt wygląda tak, jak pokazano na poniższym obrazku

twórz stronę Maven Project

3.2 Konfiguracja pom.plik xml, który został automatycznie utworzony, aby dołączyć inne wtyczki do procesu budowania. Można go znaleźć w korzeniu projektu Maven, jak pokazano na poniższym obrazku.

w projekcie maven używamy pliku POM, aby dodać wymagane zależności. Kliknij dwukrotnie na pom.plik xml i kliknij na pom.zakładka xml

Utwórz projekt Mavena

Dodaj poniższą zależność Mavena (Selenium i TestNG), aby umożliwić mavenowi pobranie niezbędnych słoików dla Twojego projektu.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

<dependencies>
<!– Selenium –>
<dependency>
<groupId > org.Selen.selen< / groupId>
<artifactId> selenium-java< / artifactId>
<wersja> 2.53.1< / wersja>
</zależność>
<!– TestNG –>
<zależność>
<groupId> org.testng< / groupId>
<artifactId> testng< / artifactId>
<wersja> 6.8< / wersja>
<zakres >test< / zakres>
</zależność>
</zależności>

twórz stronę Maven Project

3.3 dodanie TestNG jars do zależności umożliwi TestNG w Twoim projekcie.

Utwórz klasę TestNG i wygeneruj testng.plik xml. Sprawdź poniższy link, aby wykonać ten krok.

jak utworzyć klasę TestNG i wygenerować testng.plik xml

 Utwórz projekt Maven

skopiuj poniższy kod i umieść go w swojej klasie NewTest

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

package tests;
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;
public class NewTest {
public WebDriver driver;
@Test
public void openMyBlog() {
driver.get(„https://www.softwaretestingmaterial.com/”);
}
@BeforeClass
public void Beforeclass () {
System.setProperty („webdriver.gecko.kierowca”, „D:\\Selenium\\Drivers\\geckodriver.exe”);
driver = new FirefoxDriver();
}
@AfterClass
public void afterClass () {
sterownik.Zakończ();
}
}

testng.xml: testng.plik xml wygląda jak poniżej. Skopiuj i umieść go w testng.xml

1
2
3
4
5
6
7
8

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

aby uruchomić projekt za pomocą testng.xml, kliknij prawym przyciskiem myszy na ’ testng.XML ’ plik i przejdź do uruchomienia as-TestNG Suite

3.4 dodanie 'Maven-compiler-plugin’ i 'Maven-surefire-plugin’ do pom.plik xml

do uruchomienia projektu za pomocą pom.xml, musimy dodać kilka wpisów w pom.plik xml. Musimy dodać 'Maven-compiler-plugin 'i’Maven-surefire-plugin’

pom.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52

<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< / modelwersja>
<groupId> mavenPackage< / groupId>
<artifactId> MavenProject< / artifactId>
<wersja> 0.0.1-migawka< / wersja>
<zależności>
<!– Selen –>
<zależność>
<groupId> org.seleniumhq.selen< / groupId>
<artifactId> selenium-java< / artifactId>
<wersja> 2.53.1< / wersja>
</zależność>
<!– TestNG –>
<zależność>
<groupId> org.testng< / groupId>
<artifactId> testng< / artifactId>
<wersja> 6.8< / wersja>
<zakres >test< / zakres>
</zależność>
</zależności>
<buduj>
<wtyczki>
<plugin>
<groupId> org.Apacz.maven.wtyczki< / groupId>
<artifactId> maven-compiler-plugin< / artifactId>
<wersja> 3.6.1< / wersja>
<konfiguracja>
<źródło> 1.8 < / źródło>
<target> 1.8< / target>
</konfiguracja>
</plugin>
<plugin>
<groupId> org.Apacz.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>
</konfiguracja>
</plugin>
</wtyczki>
</buduj>
</projekt>

Uwaga: proces budowania zbuduje Twój projekt Maven i uruchomi TestNG bazowy.xml podczas testu Mavena. Po skonfigurowaniu Mavena i pobraniu wszystkich odpowiednich słoików, kliknij prawym przyciskiem myszy projekt i przejdź do run-Maven Clean, a następnie spróbuj zainstalować & build. Jeśli jesteś w stanie zbudować/wyczyścić / zainstalować projekty Mavena, to pomyślnie zainstalowałeś / skonfigurowałeś Mavena.

czym jest GIT

Git jest obecnie najczęściej używanym nowoczesnym systemem kontroli wersji na świecie do śledzenia zmian w dowolnym zestawie plików. Git jest projektem open source. Jego celem jest szybkość, integralność danych i obsługa rozproszonych, nieliniowych przepływów pracy. Umożliwia on zatwierdzanie pracy lokalnie, a następnie synchronizację kopii repozytorium z kopią na serwerze.

KROK 4: Zainstaluj GIT w Eclipse i dodaj (wgrywając) projekt Maven do GitHub

oto samouczek wideo na temat „Jak zainstalować GitHub w Eclipse i jak przesłać projekt do GitHub”:

proszę o cierpliwość. Film załaduje się za jakiś czas.

czym jest Jenkins

Jenkins jest serwerem automatyzacji open source. Wspiera nas w automatyzacji wszelkiego rodzaju zadań związanych z budowaniem, wdrażaniem i automatyzacją dowolnego projektu. Jest wieloplatformowy i może być używany w systemach Windows, Mac OS, Linux itp., Jako część Selenium, używamy go do ciągłego budowania i testowania naszego oprogramowania. Jest on używany do automatycznych egzekucji testowych i zaplanowanych kompilacji. Za pomocą Jenkinsa mogliśmy również publikować wyniki i wysyłać powiadomienia e-mail do wszystkich członków zespołu. Jenkins zapewnia ciągłą integrację i ciągłe dostarczanie usług dla rozwoju oprogramowania.

Oto oficjalny link do dokumentacji Jenkinsa.

do tej pory zainstalowaliśmy Mavena, stworzyliśmy projekt Mavena w Eclipse i zainstalowaliśmy GIT w Eclipse oraz wgraliśmy projekt Mavena do Githuba. Nauczyliśmy się również, czym jest Continuous Integration, Maven, GIT i Jenkins. Teraz zainstalujemy Jenkinsa i skonfigurujemy go.

instalacja Jenkinsa

krok 5: Zainstaluj Jenkinsa – sprawdź ten link

wcześniej opublikowaliśmy post na temat instalacji Jenkinsa, zobacz ten post Jak zainstalować Jenkinsa

Konfigurowanie Jenkinsa dla projektu Maven

Krok 6: Konfigurowanie Jenkinsa dla projektu Maven-sprawdź ten link

wcześniej opublikowaliśmy post na temat konfigurowania Jenkinsa dla projektu maven, zobacz ten post na temat konfigurowania Jenkinsa dla projektu maven

do tej pory zainstalowaliśmy i stworzyliśmy projekt Maven w Eclipse, zainstalowaliśmy i przesłaliśmy projekt Maven do GitHub oraz zainstalowaliśmy i skonfigurowaliśmy Jenkins dla projektu Maven. Teraz skonfigurujemy wtyczkę GIT w Jenkinsie.

Konfiguracja wtyczki GIT w Jenkins

Krok 7: Konfigurowanie wtyczki GIT w Jenkins-wykonaj poniższe kroki

7.1 Przejdź do Zarządzaj wtyczkami – > Lista filtrów wtyczek dostępnych z 'Git Plugin’.

Czytaj więcej na temat wtyczki Git

7.2 Sprawdź wtyczkę Git i kliknij przycisk „Install without restart”

na poniższym zrzucie ekranu możesz zobaczyć, że już ją zainstalowałem.

7.3 po zakończeniu instalacji uruchom ponownie Jenkinsa za pomocą polecenia w przeglądarce. http://localhost:8080/jenkins/restart

po ponownym uruchomieniu Jenkinsa, opcja Git powinna być dostępna w obszarze zarządzanie kodem źródłowym podczas konfigurowania zadania w Jenkinsie, co zobaczymy w kroku 8.

7.4 przejdź do Manage Jenkins – > Configure System, podaj właściwą ścieżkę do pliku wykonywalnego Git

krok 8: Utwórz projekt Mavena w Jenkinsie i zbuduj zadanie z projektu Git – wykonaj poniższe kroki

mamy skonfigurowaną wtyczkę GIT w Jenkinsie. Teraz stwórzmy projekt Mavena i zbudujmy zadanie z projektu Git

8.1 Kliknij na nowe elementy – > wpisz nazwę projektu (powiedzmy GitProject) – > Wybierz projekt Freestyle – > kliknij OK

zostaniesz przekierowany na stronę konfiguracji. Kliknij kartę zarządzanie kodem źródłowym

8.2 w sekcji Zarządzanie kodem źródłowym wybierz opcję „Git”. (Powinno to być widoczne po pomyślnym zainstalowaniu wtyczki Git-co zrobiliśmy w kroku 7.3).

8.3 podaj adres URL repozytorium Git (który przechwyciliśmy w kroku 4 – Obejrzyj film o tym, jak utworzyć repozytorium w Git i skopiować adres URL repozytorium Git), wybierz swoje poświadczenia i zapisz zmiany

Jenkins pobierze kod źródłowy projektu ze zdalnego serwera Git w oparciu o adres URL repozytorium, który przekazaliśmy.

8.4 W Build – kliknij na ADD build step i wybierz Invoke top-level Maven targets i przekazać „clean install” jako cele. Kliknij przycisk Zaawansowane i podaj wartość POM jako ’ pom.xml’

uwaga: pod Wtyczką Git Ustaw globalny git user.name i użytkownika.e-mail, aby dopasować globalne opcje konfiguracji

możesz również przekazać akcje po kompilacji, aby generować raporty. Aby wygenerować raporty HTML TestNG, wybierz opcję Publikuj raporty TestNG, klikając na Dodaj akcję post-build i podaj wartość jako ’ * * /testng-results.xml ’

i na koniec kliknij Zapisz.

dowiedz się, jak skonfigurować prosty projekt Mavena w Jenkinsie

struktura projektu ciągłej integracji Jenkinsa w Eclipse wygląda następująco:

uruchamianie projektu Mavena z Jenkinsa

krok 9: wykonanie projektu Mavena z Jenkinsa – wykonaj poniższe kroki

wykonajmy go teraz.

9.1 kliknij link „Zbuduj teraz”. Wywoła pom.xml.

9.2 kliknij prawym przyciskiem myszy na numer kompilacji (tutaj w moim przypadku jest to #1) i kliknij na wyjście konsoli, aby zobaczyć wynik.

na wyjściu konsoli można zobaczyć status kompilacji „sukces”.

możesz również zaplanować zadania Jenkins i wysłać powiadomienie e-mail po uruchomieniu kompilacji.

aby zaplanować zadanie Jenkins:

Otwórz zadanie Jenkins-Configure-Build triggers-zaznacz pole wyboru Build periodycznie i wprowadź wzór Zadania Cron

na przykład: aby uruchamiać zadanie co minutę, musisz wpisać * * * * *

Jenkins pracuje na wzorze Cron. Dowiedz się więcej o wzorze zadań Cron – link wiki

do wysyłania powiadomień e – mail:

przejdź do Manage Jenkins – Configure – Select Email notification-Set SMTP configuration.

otrzymasz powiadomienie e-mail, gdy budowa przejdzie lub nie powiedzie się.

podsumowanie:

ciągła Integracja Selenium z Jenkins pozwala nam uruchamiać nasze skrypty przy każdym wdrożeniu. Jenkins pozwala nam zapisywać historię wykonania i raporty. Mam nadzieję, że ten post pomógł Ci w osiągnięciu twoich celów. Mam nadzieję, że udało Ci się wdrożyć ciągłą integrację Selenium. Nie wahaj się podchodzić, jeśli masz jakiekolwiek pytania.

oto kilka wyselekcjonowanych artykułów, które możesz przeczytać dalej:

  • jak uruchamiać skrypty Selenium przy użyciu BrowserStack
  • dowiedz się narzędzie do testowania różnych przeglądarek
  • kompletny przewodnik – narzędzie do automatyzacji GUI – Froglogic Squish
  • Najpopularniejsze – Pytania kwalifikacyjne Selenium
  • pytania kwalifikacyjne TestNG
  • dlaczego warto wybrać testowanie oprogramowania jako karierę
  • Ogólne pytania kwalifikacyjne

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

Previous post Jak przesyłać pliki między Linuksem a Windows przez LAN
Next post pozycja pierwsza * dary Ducha Świętego, ogólnie, a w szczególności