selen kontinuerlig Integration med Jenkins [selen – Maven – Git – Jenkins] – steg för steg Guide

selen kontinuerlig Integration med Jenkins använder GIT

i det här inlägget försöker jag hålla fullständig guide för Selen kontinuerlig Integration (End to End Integration) med Jenkins. Detta är en guide för att implementera kontinuerlig Integration med Jenkins, Maven och TestNG med GitHub. Det finns många verktyg och tekniker som kan integreras i en CI-miljö. Här använder jag Selenium WebDriver, Java, TestNG, Maven, och jag integrerar dessa med Jenkins. För att implementera kontinuerlig integration, Följ de 9 stegen som jag nämnde nedan.

  • 1. Vad är kontinuerlig Integration
  • 2. Vad är Maven
  • 3. Bygga Ett Maven-Projekt I Eclipse
  • 4. Vad är GIT
  • 5. Vad är Jenkins
  • 6. Installation av Jenkins
  • 7. Konfigurera Jenkins för ett Maven-projekt
  • 8. Konfigurera Git Plugin i Jenkins
  • 9. Kör Maven projekt från Jenkins

Vad är kontinuerlig Integration

kontinuerlig Integration förkortas som CI. Kontinuerlig Integration är en utvecklingspraxis som syftar till att säkerställa att en programvara är korrekt. Efter varje åtagande körs en serie tester automatiskt och testar en programvara för att säkerställa om programvaran körs utan några pauser. Om något test misslyckas får vi omedelbar feedback som säger ”build is broken”.

i enkla ord är kontinuerlig integration en process för att verifiera korrektheten hos en programvara.

kontinuerlig Integration

några av de kontinuerliga integrationsverktygen är Jenkins, TeamCity, Bamboo, Travis, CircleCi, Bitbucket, CruiseControl

Vad är Maven

Maven, ett Jiddischord som betyder ”ackumulator av kunskap”. Maven är ett byggautomatiseringsverktyg som främst används för Java-projekt. Det hjälper till att bygga programvara, Det beskriver hur programvara byggs och det beskriver dess beroenden. Det hämtar dynamiskt Java-bibliotek och Maven plug-ins från en eller flera förråd som Maven 2 Central Repository, och lagrar dem i en lokal cache. Vi använder maven i selen som ett byggverktyg eller projekthanteringsverktyg. Det hjälper till att hantera alla projektberoenden och säkerställa en enkel byggprocess.

huvudmålen för Maven är följande:

  • gör byggprocessen enkel
  • tillhandahålla ett enhetligt byggsystem
  • tillhandahålla kvalitetsprojektinformation
  • tillhandahålla riktlinjer för utveckling av bästa praxis
  • tillåta transparent migrering till nya funktioner

hittills har vi lärt oss vad som är kontinuerlig Integration och vad som är Maven. Om du sitter vid ditt system och försöker implementera så låt oss komma igång med att implementera de nedan nämnda 9 stegen.

selen kontinuerlig Integration med Jenkins

steg 1: Öppna din Eclipse IDE för att börja bygga ett maven-projekt

bygga ett Maven-projekt i Eclipse

installera Maven-projektet i Eclipse:

steg 2: Installera Maven i Eclipse: kolla den här länken

så nu har vi Maven installerat i Eclipse. Låt oss nu skapa Maven-projektet i Jenkins.

skapa Maven-projekt i Jenkins:

steg 3: Skapa ett nytt Maven-projekt i Eclipse-Följ nedanstående steg

3.1 för att skapa ett projekt – högerklicka på Package Explorer och navigera genom New – Other

se till att TestNG redan är installerat. Kolla in det här för att se ”hur man installerar TestNG i Eclipse” och kolla den här länken för ”TestNG Complete Tutorial”

installera Maven

Välj Maven Project och klicka på Nästainstallera Maven

välj ’Skapa ett enkelt projekt’ kryssrutan och klicka på Nästaskapa Maven Projectfyll i grupp-Id, Artifact Id och klicka på Slutför knappen

skapa Maven Projectstruktur av Maven Project projektet ser ut som visas i bilden nedan

skapa Maven Project

3.2 konfigurera pom.xml-fil, som skapades automatiskt, att inkludera andra plugin burkar till byggprocessen. Det finns i roten till Maven-projektet som visas i bilden nedan.

i maven-projektet använder vi POM-fil för att lägga till de nödvändiga beroenden. Dubbelklicka på pom.xml-fil och klicka på pom.xml-fliken

 skapa Maven-projekt

Lägg till nedanstående Maven-beroende (selen och TestNG) för att tillåta maven att ladda ner nödvändiga burkar för ditt projekt.

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

< beroenden>
<!– Selen –>
< beroende>
< groupId > org.Selena.selen< / groupId>
<artifactId> selen-java< / artifactId>
<version> 2.53.1< / version>
</beroende>
<!– TestNG –>
<beroende>
<groupId> org.testng< / groupId>
<artifactId> testng< / artifactId>
<version> 6.8</version>
<omfattning> test< / omfattning>
</beroende>
</beroenden>

skapa Maven Project

3.3 om du lägger till TestNG-burkar i beroendet aktiveras TestNG i ditt projekt.

skapa en TestNG-klass och generera testng.xml-fil. Kontrollera länken nedan för att göra detta steg.

hur man skapar en TestNG-klass och genererar testng.xml-fil

 skapa Maven-projekt

kopiera koden nedan och placera den i din NewTest-klass

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/”);
}
@Föreklass
offentligt tomrum föreklass() {
systemet.setProperty (”webdriver.gecko.förare”, ”D:\\Selenium\\Drivers\\geckodriver.exe”);
drivrutin = Ny FirefoxDriver();
}
@AfterClass
Offentlig ogiltig afterClass() {
förare.avsluta();
}
}

testng.xml: testng.xml-filen ser ut nedan. Kopiera och placera den i din 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 –>
</svit> <!– Svit –>

för att köra projektet med testng.xml, högerklicka på ’ testng.xml ’ fil och gå för att köra As-TestNG Suite

3.4 lägga till ’maven-compiler-plugin’ och ’maven-surefire-plugin’ till pom.xml-fil

för att köra projektet med pom.xml, vi måste lägga till några fler poster i pom.xml-fil. Vi måste lägga till ’maven-compiler-plugin ’och’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</Modellversion>
<groupId> mavenPackage< / groupId>
<artifactId> MavenProject< / artifactId>
<version> 0.0.1-SNAPSHOT< / version>
<beroenden>
<!– Selen –>
<beroende>
<groupId> org.seleniumhq.selen< / groupId>
<artifactId> selen-java< / artifactId>
<version> 2.53.1</version>
</beroende>
<!– TestNG –>
<beroende>
<groupId> org.testng< / groupId>
<artifactId> testng< / artifactId>
<version> 6.8< / version>
<omfattning> test< / omfattning>
</beroende>
</beroenden>
<bygga>
<insticksprogram>
<insticksprogram>
<groupId> org.Apache.maven.plugins< / groupId>
<artifactId> Maven-kompilator-plugin< /artifactId>
<version> 3.6.1< / version>
<konfiguration>
<källa>1.8< / källa>
<mål>1,8< / mål>
</konfiguration>
</insticksprogram>
<insticksprogram>
<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>
</konfiguration>
</insticksprogram>
</insticksprogram>
</bygga>
</projekt>

Obs: byggprocessen kommer att bygga din Maven projekt och köra basen testng.xml under ett Maven-test. När du har installerat Maven och laddat ner alla motsvarande burkar, högerklicka på projektet och gå till run – Maven Clean och försök sedan installera & build. Om du kan bygga/rengöra/installera dina Maven-projekt har du framgångsrikt installerat/konfigurerat Maven.

vad är GIT

Git är det mest använda moderna versionskontrollsystemet i världen idag för att spåra förändringar i någon uppsättning filer. Git är ett open source-projekt. Det syftar till hastighet, dataintegritet och stöd för distribuerade, icke-linjära arbetsflöden. Det låter dig begå ditt arbete lokalt och sedan synkronisera din kopia av förvaret med kopian på servern.

steg 4: Installera GIT i Eclipse och lägga till (uppladdning) Maven Project till GitHub

här är en videohandledning om ”hur man installerar GitHub i Eclipse och hur man laddar upp projekt till GitHub”:

ha tålamod. Videon laddas om en tid.

Vad är Jenkins

Jenkins är en Open source automation server. Det stöder oss att automatisera alla typer av uppgifter relaterade till att bygga, distribuera och automatisera alla projekt. Det är plattformsoberoende och kan användas på Windows, Mac OS, Linux etc., Som en del av Selenium använder vi den för att bygga och testa vår programvara kontinuerligt. Den används för automatiska testkörningar och schemalagda byggnader. Med Jenkins kunde vi också publicera resultat och skicka e-postmeddelanden till alla teammedlemmar. Jenkins tillhandahåller kontinuerlig integration och kontinuerlig leveransservice för mjukvaruutveckling.

här är den officiella länken till Jenkins dokumentation.

hittills har vi installerat Maven, skapat Maven Project i Eclipse och installation av GIT i Eclipse och Uppladdning av Maven Project till GitHub. Vi lärde oss också vad som är Continuous Integration, Maven, GIT och Jenkins. Nu installerar vi Jenkins och konfigurerar det.

installation av Jenkins

steg 5: Installera Jenkins-kolla den här länken

tidigare publicerade vi ett inlägg om installation av Jenkins, se det här inlägget om hur man installerar Jenkins

konfigurera Jenkins för ett Maven-projekt

steg 6: Konfigurera Jenkins för ett Maven-projekt-kolla den här länken

tidigare publicerade vi ett inlägg om att konfigurera Jenkins för ett maven-projekt, se det här inlägget om att konfigurera Jenkins för ett maven-projekt

hittills har vi installerat och skapat Maven Project i Eclipse, installerat och laddat upp Maven Project till GitHub och installerat och konfigurerat Jenkins för Maven Project. Nu kommer vi att konfigurera GIT plugin i Jenkins.

konfigurera GIT-Plugin i Jenkins

steg 7: konfigurera GIT-Plugin i Jenkins-Följ stegen nedan

7.1 Gå till Hantera Plugins- > filtrera lista över plugins tillgängliga med ’Git Plugin’.

Läs mer på Git-Plugin

7.2 kontrollera Git-Plugin och klicka på knappen ’Installera utan omstart’

i nedanstående skärmdump kan du se att jag redan har installerat den.

7.3 när installationen är klar startar du om Jenkins med kommandot i webbläsaren. http://localhost:8080/jenkins/restart

när Jenkins startas om bör git-alternativet vara tillgängligt under Källkodshantering när du konfigurerar ett jobb i Jenkins och detta kommer vi att se i steg 8.

7.4 Gå till Hantera Jenkins – > konfigurera systemet, ange rätt väg till GIT körbar

steg 8: skapa Maven Project i Jenkins och bygga ett jobb från Git Project – Följ nedanstående steg

vi har konfigurerat GIT plugin i Jenkins. Låt oss nu skapa ett Maven-projekt och bygga ett jobb från Git-projektet

8.1 Klicka på nya objekt – > ange Projektnamn (säg GitProject) – > Välj Freestyle-projekt – > klicka på OK

du kommer att omdirigeras till konfigurationssidan. Klicka på fliken Källkodshantering

8.2 i Källkodshantering väljer du ’ Git ’ – alternativet. (Detta bör vara synlig när du har installerat git Plugin – som vi har gjort i steg 7.3).

8.3 ge din GIT Repository URL (som vi har tagit i steg 4-titta på video om hur du skapar Repository i Git och kopiera GIT Repository URL) och välj dina referenser och spara dina ändringar

Jenkins kommer att dra projektets källkod från fjärr Git-servern baserat på Repository URL som vi har passerat.

8.4 i Build-klicka på Lägg till build step och välj anropa Maven-mål på toppnivå och skicka ’clean install’ som mål. Klicka på knappen Avancerat och passera POM värde som ’ pom.xml’

notera: under Git Plug-in, Ställ in den globala git user.name och användare.e-post för att matcha dina globala konfigurationsalternativ

du kan också skicka efterbyggnadsåtgärder för att generera rapporter. För att generera TestNG HTML-rapporter, välj Publicera TestNG-rapporter genom att klicka på Lägg till efterbyggnadsåtgärd och skicka värde som ’**/testng-resultat.xml ’

och slutligen, klicka på Spara.

lär dig hur du konfigurerar enkelt Maven-projekt i Jenkins

Jenkins Continuous Integration Project Structure i Eclipse ser ut som visas nedan:

kör Maven Project från Jenkins

steg 9: utför Maven Project från Jenkins – Följ nedanstående steg

Låt oss köra det nu.

9.1 klicka på länken ’Bygg Nu’. Det kommer att åberopa pom.xml.

9.2 högerklicka på Byggnummer (här i mitt fall är det #1) och klicka på Konsolutmatning för att se resultatet.

du kan se bygga Status ’framgång’ på konsolen utgång.

du kan också schemalägga Jenkins jobb och skicka ett e-postmeddelande efter build run.

för schemaläggning av Jenkins-jobb:

öppna ditt Jenkins-jobb-konfigurera-Bygg utlösare-Välj Bygg regelbundet kryssrutan och ange ditt Cron-jobbmönster

till exempel: för att köra ditt jobb varje minut måste du ange * * * * *

Jenkins arbetar på Cron mönster. Läs mer om cron job pattern – wiki – länken

för att skicka e – postmeddelande:

gå till Hantera Jenkins – konfigurera-Välj e-postmeddelande-Ställ in SMTP-konfiguration.

du kommer att få ett e-postmeddelande när byggnaden passerar eller misslyckas.

slutsats:

selen kontinuerlig Integration med Jenkins tillåter oss att köra våra skript på varje distribution. Jenkins tillåter oss att spara exekveringshistorik och rapporter. Jag hoppas att det här inlägget hjälpte dig att uppnå dina mål. Hoppas att du framgångsrikt har implementerat Selenium Continuous Integration. Tveka inte att närma dig om du har några frågor.

här är några handplockade artiklar för dig att läsa nästa:

  • hur man kör Selenium skript med BrowserStack
  • lär Cross Browser Testing Tool
  • komplett Guide – Gui Automation Tool – Froglogic Squish
  • mest populära – Selenium intervjufrågor
  • TestNG intervjufrågor
  • varför du väljer programvarutestning som Karriär
  • allmänna intervjufrågor

Lämna ett svar

Din e-postadress kommer inte publiceras.

Previous post Så här överför du filer mellan Linux och Windows via LAN
Next post punkt ett · av den Helige Andes gåvor gemensamt, och i synnerhet