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.
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.
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”
Välj Maven Project och klicka på Nästa
välj ’Skapa ett enkelt projekt’ kryssrutan och klicka på Nästafyll i grupp-Id, Artifact Id och klicka på Slutför knappen
struktur av Maven Project projektet ser ut som visas i bilden nedan
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
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>
|
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
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