Selenium Continuous Integration with Jenkins using GIT
In questo post, sto cercando di mantenere una guida completa sull’integrazione continua di Selenium (integrazione end to End) con Jenkins. Questa è una guida per implementare l’integrazione continua con Jenkins, Maven e TestNG con GitHub. Ci sono un sacco di strumenti e tecniche che possono essere integrati in un ambiente CI. Qui sto usando Selenium WebDriver, Java, TestNG, Maven e li integro con Jenkins. Per implementare l’integrazione continua, segui i passaggi 9 che ho menzionato di seguito.
- 1. Cos’è l’integrazione continua
- 2. Che cosa è Maven
- 3. Costruire un progetto Maven in Eclipse
- 4. Che cos’è GIT
- 5. Che cos’è Jenkins
- 6. Installazione di Jenkins
- 7. Configurazione di Jenkins per un progetto Maven
- 8. Configura il plugin GIT in Jenkins
- 9. Esecuzione del progetto Maven da Jenkins
Che cos’è l’integrazione continua
L’integrazione continua è abbreviata in CI. L’integrazione continua è una pratica di sviluppo che mira a garantire la correttezza di un software. Dopo ogni commit, una suite di test viene eseguita automaticamente e verifica un software per verificare se il software è in esecuzione senza interruzioni. Se qualche test fallisce, otterremo un feedback immediato dire “build è rotto”.
In parole semplici, l’integrazione continua è un processo di verifica della correttezza di un software.
Alcuni degli strumenti di integrazione continua sono Jenkins, TeamCity, Bamboo, Travis, CircleCi, Bitbucket, CruiseControl
Cos’è Maven
Maven, una parola yiddish che significa “accumulatore di conoscenza”. Maven è uno strumento di automazione di compilazione utilizzato principalmente per progetti Java. Aiuta nella creazione di software, descrive come viene costruito il software e descrive le sue dipendenze. Scarica dinamicamente le librerie Java e i plug-in Maven da uno o più repository come il repository centrale Maven 2 e li memorizza in una cache locale. Usiamo maven in Selenium come strumento di costruzione o strumento di gestione del progetto. Aiuta a gestire tutte le dipendenze del progetto e garantire un processo di compilazione facile.
Gli obiettivi principali di Maven sono i seguenti:
- Semplificare il processo di compilazione
- Fornire un sistema di compilazione uniforme
- Fornire informazioni di progetto di qualità
- Fornire linee guida per lo sviluppo di best practice
- Consentire la migrazione trasparente a nuove funzionalità
Finora abbiamo imparato cos’è l’integrazione continua e cos’è Maven. Se sei seduto al tuo sistema e stai cercando di implementare, iniziamo a implementare i 9 passaggi indicati di seguito.
FASE 1: Aprire Eclipse IDE per iniziare a costruire un progetto maven
la Costruzione di Un Progetto Maven In Eclipse
Installazione di Maven Progetto in Eclipse:
PASSO 2: Installazione di Maven, Eclipse: Controllare questo link
Così, ora abbiamo Maven installato in Eclipse. Ora creiamo il progetto Maven in Jenkins.
Creazione del progetto Maven in Jenkins:
PASSO 3: Crea un nuovo progetto Maven in Eclipse-Segui i passaggi seguenti
3.1 Per creare un progetto – Fare clic destro su Esplora pacchetti e navigare attraverso New-Other
Assicurarsi che TestNG sia già installato. Controllare questo fuori per vedere “Come Installare TestNG In Eclipse” e questo controllare questo link per “TestNG Tutorial Completo”
Selezionare Progetto Maven e fare clic su Avanti
Selezionare ” Crea un progetto semplice casella di controllo e fare clic su AvantiRiempire l’Id di Gruppo, Artefatto Id e fare clic sul pulsante Fine
Struttura del progetto appare come mostrato nell’immagine qui sotto
3.2 Configurare pom.file xml, che è stato creato automaticamente, per includere altri jar plugin per il processo di compilazione. Può essere trovato nella radice del progetto Maven come mostrato nell’immagine qui sotto.
Nel progetto maven, usiamo il file POM per aggiungere le dipendenze richieste. Fare doppio clic su pom.file xml e fare clic su pom.scheda xml
Aggiungi la seguente dipendenza maven (Selenium e TestNG) per consentire a maven di scaricare i jar necessari per il tuo progetto.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<dependencies>
<!– Selenio.–>
< dependency>
<groupId > org.Selene.selenio</groupId>
<artifactId>selenio-java</artifactId>
<versione>2.53.1</versione>
</dipendenza>
<!– Prova –>
<dipendenza>
<groupId > org.testng< / ID gruppo>
<artifactId > testng< / artifactId>
<versione> 6.8</versione>
<ambito di applicazione>test</ambito>
</dipendenza>
</dipendenze>
|
3.3 L’aggiunta di TestNG vasetti di dipendenza, si attiva TestNG del tuo progetto.
Crea una classe TestNG e genera testng.file xml. Controlla il link qui sotto per fare questo passaggio.
Come creare una classe TestNG e generare testng.file xml
Copiare e incollare il seguente codice e inserirlo nel vostro NewTest classe
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
vuoto pubblico beforeClass() {
Sistema.setProperty (“webdriver.Gecko.autista”, “D:\\Selenium\\Drivers\\geckodriver.exe”);
driver = nuovo FirefoxDriver();
}
@AfterClass
public void afterClass() {
driver.esci();
}
}
|
prova.xml: testng.il file xml è simile al di sotto. Copia e inseriscilo nel tuo 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> <!– Prova –>
</suite><!– Suite –>
|
Per eseguire il progetto utilizzando testng.xml, fare clic destro su ‘ testng.file xml ‘e vai a eseguire As-TestNG Suite
3.4 Aggiunta di’ maven-compiler-plugin ‘e’ maven-surefire-plugin ‘ al pom.file xml
Per eseguire il progetto utilizzando pom.xml, dobbiamo aggiungere altre voci nel pom.file xml. Abbiamo bisogno di aggiungere ‘maven-compiler-plugin’ e ‘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</modelVersion>
<groupId>mavenPackage</groupId>
<artifactId>MavenProject</artifactId>
<versione>0.0.1-SNAPSHOT</versione>
<dipendenze>
<!– Selenio –>
<dipendenza>
<groupId > org.seleniumhq.selenio< / groupId>
<artifactId> selenium-java< / artifactId>
<versione>2.53.1 < / versione>
</dipendenza>
<!– Prova –>
<dipendenza>
<groupId > org.testng</groupId>
<artifactId>testng</artifactId>
<versione>6.8</versione>
<ambito di applicazione>test</ambito>
</dipendenza>
</dipendenze>
<costruire>
<plugin>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-compilatore-plugin</artifactId>
<versione>3.6.1</versione>
<configurazione>
<fonte>1.8</sorgente>
<obiettivo>1.8</target>
</configurazione>
</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>
</configurazione>
</plugin>
</plugin>
</costruire>
</progetto>
|
Nota: Il processo di generazione che costruirà il tuo progetto Maven ed eseguire la base testng.xml durante un test Maven. Dopo aver configurato Maven e scaricato tutti i jar corrispondenti, fare clic con il pulsante destro del mouse sul progetto e andare su run – Maven Clean e quindi provare install & build. Se sei in grado di creare/pulire/installare i tuoi progetti Maven, hai installato/configurato correttamente Maven.
Che cos’è GIT
Git è il sistema di controllo delle versioni moderno più utilizzato al mondo per il monitoraggio delle modifiche in qualsiasi set di file. Git è un progetto open source. È finalizzato alla velocità, all’integrità dei dati e al supporto per flussi di lavoro distribuiti e non lineari. Consente di eseguire il commit del lavoro localmente e quindi sincronizzare la copia del repository con la copia sul server.
PUNTO 4: Installa GIT in Eclipse e aggiungi (caricando) il progetto Maven a GitHub
Ecco un video tutorial su “Come installare GitHub in Eclipse e come caricare il progetto su GitHub”:
Si prega di essere paziente. Il video verrà caricato in un certo tempo.
Che cos’è Jenkins
Jenkins è un server di automazione open source. Ci supporta per automatizzare tutti i tipi di attività relative alla costruzione, distribuzione e automazione di qualsiasi progetto. È multipiattaforma e può essere utilizzato su Windows, Mac OS, Linux ecc., Come una parte di Selenio, lo usiamo per costruire e testare continuamente il nostro software. Viene utilizzato per esecuzioni di test automatici e build pianificate. Utilizzando Jenkins potremmo anche pubblicare i risultati e inviare notifiche e-mail a tutti i membri del team. Jenkins fornisce un’integrazione continua e un servizio di consegna continua per lo sviluppo del software.
Ecco il link ufficiale alla documentazione di Jenkins.
Finora abbiamo installato Maven, creato il progetto Maven in Eclipse e l’installazione di GIT in Eclipse e il caricamento del progetto Maven su GitHub. Inoltre, abbiamo imparato cos’è l’integrazione continua, Maven, GIT e Jenkins. Ora installeremo Jenkins e lo configureremo.
Installazione di Jenkins
PASSO 5: Installazione di Jenkins – Controllare questo link
in Precedenza abbiamo pubblicato un post sull’installazione di Jenkins, vedere questo post su come installare Jenkins
Configurazione di Jenkins per un Progetto Maven
STEP 6: La configurazione di Jenkins per un Progetto Maven – Controllare questo link
in Precedenza abbiamo pubblicato un post sulla configurazione di Jenkins per un progetto maven, vedere questo post sulla configurazione di Jenkins per un progetto maven
finora abbiamo installato e creato Maven Progetto in Eclipse, Installato e caricato Maven Progetto su GitHub e installato e configurato Jenkins per il Progetto Maven. Ora configureremo il plugin GIT in Jenkins.
Configura il plugin GIT in Jenkins
PASSO 7: Configurazione del plugin GIT in Jenkins-Segui i passaggi seguenti
7.1 Vai a Gestisci plugin – > Filtra l’elenco dei plugin disponibili con ‘Git Plugin’.
Per saperne di più su Git Plugin
7.2 Controllare il Plugin Git e fare clic sul pulsante ‘Installa senza riavvio’
Nello screenshot qui sotto, si può vedere che ho già installato.
7.3 Al termine dell’installazione, riavviare Jenkins utilizzando il comando nel browser. http://localhost:8080/jenkins/restart
Una volta riavviato Jenkins, l’opzione Git dovrebbe essere disponibile in Gestione del codice sorgente quando si configura un lavoro in Jenkins e questo vedremo nel passaggio 8.
7.4 Vai a Gestisci Jenkins – > Configura il sistema, per favore fornisci il percorso giusto per l’eseguibile Git
PASSO 8: Crea un progetto Maven in Jenkins e costruisci un lavoro da Git Project – Segui i passaggi seguenti
Abbiamo configurato il plugin GIT in Jenkins. Ora creiamo un progetto Maven e costruiamo un lavoro dal progetto Git
8.1 Fai clic su Nuovi elementi – > Inserisci il nome del progetto –ad esempio GitProject)- > Seleziona Progetto Freestyle- > Fai clic su OK
Verrai reindirizzato alla pagina di configurazione. Fare clic sulla scheda Gestione codice sorgente
8.2 In Gestione codice sorgente, selezionare l’opzione ‘Git’. (Questo dovrebbe essere visibile una volta installato correttamente il plugin Git-Cosa che abbiamo fatto nel passaggio 7.3).
8.3 Dai l’URL del tuo repository Git (che abbiamo catturato nel passaggio 4 – Guarda il video su come creare Repository in Git e copiare l’URL del repository Git) e scegli le tue credenziali e salva le tue modifiche
Jenkins estrarrà il codice sorgente del progetto dal server Git remoto in base all’URL del repository che abbiamo passato.
8.4 In Build-fai clic su Aggiungi passo di costruzione e scegli Invoca obiettivi Maven di primo livello e passa “clean install” come Obiettivi. Fare clic sul pulsante Avanzate e passare il valore POM come ‘ pom.xml’
Nota: in Git Plug-in, impostare il git globale user.name e utente.e-mail per abbinare le opzioni di configurazione globali
Inoltre, è possibile passare le azioni post-build per generare report. Per generare report HTML TestNG, scegli Pubblica report TestNG facendo clic su Aggiungi azione post-build e passa il valore come ‘ * * / testng-results.xml’
E infine, fare clic su Salva.
Scopri come configurare simple maven project in Jenkins
Jenkins Continuous Integration Project Structure in Eclipse appare come mostrato di seguito:
Esecuzione del progetto Maven da Jenkins
PASSO 9: Esecuzione del progetto Maven da Jenkins – Segui i passaggi seguenti
Eseguiamolo ora.
9.1 Clicca sul link ‘Costruisci ora’. Invocherà il pom.XML.
9.2 Fare clic con il tasto destro sul numero di build (qui nel mio caso è #1) e fare clic sull’output della console per vedere il risultato.
Potresti vedere lo stato di compilazione “Successo” sull’output della console.
Inoltre, è possibile pianificare i lavori Jenkins e inviare una notifica via email dopo l’esecuzione della build.
Per la pianificazione del lavoro Jenkins:
Apri il tuo job Jenkins – Configure-Build triggers-Seleziona la casella di controllo Crea periodicamente e inserisci il tuo modello di lavoro Cron
Ad esempio: Per eseguire il tuo lavoro ogni minuto, devi inserire * * * * *
Jenkins lavora sul modello Cron. Ulteriori informazioni sul modello di lavoro Cron – link wiki
Per l’invio di notifiche e – mail:
Vai a Gestisci Jenkins – Configura – Seleziona notifica e-mail-Imposta configurazione SMTP.
Riceverai una notifica via email ogni volta che la build passa o fallisce.
Conclusione:
L’integrazione continua di Selenium con Jenkins ci consente di eseguire i nostri script su ogni distribuzione. Jenkins ci permette di salvare la storia di esecuzione e report. Spero che questo post ti abbia aiutato a raggiungere i tuoi obiettivi. Spero che tu abbia implementato con successo l’integrazione continua del selenio. Si prega di non esitate si avvicina se avete domande.
Qui ci sono alcune raccolte a mano e articoli per voi a leggere il successivo:
- Come Eseguire il Selenio Script Utilizzando BrowserStack
- per Saperne di Cross Browser Strumento di Test
- Guida Completa – GUI Strumento di Automazione – Froglogic Squish
- Più Popolari – il Selenio Domande di Intervista
- TestNG Domande di Intervista
- Perché Scegliere il Software di Testing, Come Una Carriera
- Generale Domande di Intervista