Selenium Integrazione con Maven e Jenkins

⚡ Riepilogo intelligente

Maven Jenkins Selenium l'integrazione crea una pipeline di test continuo automatizzata in cui Maven gestisce le dipendenze del progetto e il ciclo di vita, Jenkins pianifica e attiva le build e Selenium Esegue test del browser, producendo un'automazione web end-to-end ripetibile, affidabile e scalabile.

  • 📦 Ruolo di esperto: Maven 3.x gestisce le dipendenze, il ciclo di vita della build e i plugin tramite pom.xml, eliminando la gestione manuale dei JAR per Selenium
  • 🔁 Jenkins Ruolo: Jenkins Orari LTS Selenium gestisce le suite, monitora le modifiche SCM e attiva test di regressione automatizzati a ogni commit o cron nightly.
  • 🚀 Energia tramite gasdotti: Combinando Maven, Jenkins, Seleniume TestNG Forma un ciclo CI/CD completo che individua i difetti entro pochi minuti dalla modifica del codice.
  • ✅ Reporting: Rapporti infallibili più Jenkins costruire la cronologia dare tracRisultati dei test fruibili e condivisibili con output su console e dashboard HTML.
  • 🧪 Miglioramento dell'IA: I moderni plugin di IA danno priorità ai test con impatto, prevedono i casi instabili e riducono Jenkins cicli di feedback interni Selenium condutture.

Maven & Jenkins Integrazione con Selenium

Cosa è Jenkins in Selenium?

Jenkins è il principale strumento di integrazione continua open-source originariamente sviluppato da Hudson lab. È multipiattaforma e funziona su Windows, Linux, macOSe Solaris ambienti. Jenkins è scritto in Java e ora viene distribuito come Jenkins LTS per un utilizzo stabile in produzione. Il suo impiego principale è il monitoraggio di qualsiasi attività, che può essere un checkout SCM, una pianificazione cron o qualsiasi stato di un'applicazione. Jenkins attiva azioni preconfigurate quando si verifica una fase specifica nei processi.

Caratteristiche importanti di Jenkins

  • Supporto per la modifica: Jenkins Genera l'elenco di tutte le modifiche apportate nei repository come Git o SVN.
  • Link permanenti: Jenkins Fornisce collegamenti diretti all'ultima build o all'ultima build non riuscita, semplificando la comunicazione del team.
  • Installazione: Jenkins È facile da installare utilizzando un programma di installazione nativo, un file WAR distribuito su un server applicativo o un'immagine Docker.
  • Integrazione e-mail: Jenkins È possibile configurarlo per inviare via email il contenuto e lo stato di ogni build.
  • Configurazione facile: Configurazione di varie attività su Jenkins È semplice tramite la dashboard web.
  • TestNG Test: Jenkins può essere configurato per eseguire la build di test di automazione su TestNG dopo ogni commit al repository.
  • Più VM: Jenkins può distribuire le build su più macchine agente.
  • Costruzione del progetto: Jenkins documenta i dettagli dei JAR, le versioni dei JAR e la mappaping dai numeri di build agli artefatti.
  • plugin: 3rd È possibile aggiungere plugin per feste in Jenkins per estendere le funzionalità e aggiungere ulteriori caratteristiche.

Perché Jenkins and Selenium?

  • corsa Selenium test in Jenkins Consente di eseguire i test ogni volta che il software viene modificato e di distribuire il software in un nuovo ambiente quando i test hanno esito positivo.
  • Jenkins puoi programmare il tuo Selenium test da eseguire in un momento specifico.
  • È possibile salvare la cronologia di esecuzione e i report di test per tracabilità.
  • Jenkins supporta Maven per la creazione e Collaudo un progetto in continua integrazione.

In cosa consiste Maven Selenium?

Maven è un potente strumento di gestione di progetti e build basato sul concetto di POM (Project Object Model) che include informazioni sul progetto e dati di configurazione per Maven, come la directory di build, la directory dei sorgenti, le dipendenze, la directory dei sorgenti di test, gli obiettivi, i plugin e altro ancora. Maven 3.x è l'attuale linea stabile, ampiamente utilizzata in Selenium framework di test.

Perché Maven e Jenkins

Selenium WebDriver è ottimo per l'automazione del browser. Ma, quando lo si utilizza per i test e la creazione di un framework di test, può sembrare poco potente. Integrazione di Maven con Selenium offre i seguenti vantaggi.
Apache Maven fornisce supporto per la gestione dell'intero ciclo di vita di un progetto di test.

  • Maven viene utilizzato per definire la struttura del progetto, le dipendenze, la creazione e la gestione dei test.
  • Tramite il file pom.xml (Maven) è possibile configurare le dipendenze necessarie per la compilazione, il test e l'esecuzione del codice.
  • Maven scarica automaticamente i file necessari dal repository centrale durante la compilazione del progetto.

Come installare Maven e utilizzarlo con TestNG Selenium

Ecco i passaggi per installare Maven e utilizzarlo con TestNG Selenium.

Per questo tutorial utilizzeremo Eclipse (Juno) IDE per Java Gli sviluppatori devono impostare il Selenium Progetto WebDriver. Inoltre, dobbiamo aggiungere il plugin m2eclipse a Eclipse per facilitare il processo di compilazione e creare il file pom.xml.
Aggiungiamo il plugin m2eclipse a Eclipse con i seguenti passaggi:

Passo 1) In Eclipse IDE, seleziona Aiuto | Installa nuovo software dal Eclipse menu principale.

Passo 2) Nella finestra di dialogo Installa, immettere il URL https://www.eclipse.org/m2e/. Selezionare Lavora con e il plugin m2e come mostrato nella seguente schermata:

Installa Maven e usalo con TestNG Selenium

Passo 3) Clicca sul Avanti premere il pulsante e completare l'installazione.

Configurazione Eclipse con Maven

Una volta installato il plugin m2e, dobbiamo creare un progetto Maven.

Passo 1) In Eclipse IDE, crea un nuovo progetto selezionando Compila il | New | Altro dal Eclipse menu.

Passo 2) Sulla New finestra di dialogo, selezionare Maven | Progetto Maven e fare clic su Avanti.

Installa Maven e usalo con TestNG Selenium

Passo 3) Sulla Nuovo progetto Maven finestra di dialogo seleziona Crea un progetto semplice e fare clic su Avanti.

Installa Maven e usalo con TestNG Selenium

Passo 4) Inserisci WebdriverTest in ID gruppo: e ID artefattoe clicca su fine.

Installa Maven e usalo con TestNG Selenium

Passo 5) Eclipse creerà WebdriverTest con la seguente struttura:

Installa Maven e usalo con TestNG Seleniuml

Passo 6) Fai clic destro su Libreria di sistema JRE e seleziona la Proprietà a Confronto opzione dal menu.

Installa Maven e usalo con TestNG Selenium

Sulla Proprietà per la libreria di sistema JRE finestra di dialogo, assicurati JRE predefinito dell'area di lavoro viene selezionato e si fa clic su OK.

Installa Maven e usalo con TestNG Selenium

Passo 7) Seleziona pom.xml da Esplora progetti.

Installa Maven e usalo con TestNG Selenium

Il file pom.xml si aprirà nella sezione Editor.

Installa Maven e usalo con TestNG Selenium

Passo 8) Aggiungere il Selenium, Esperto di, TestNGe JUnit dipendenze da pom.xml nel file nodo:

	<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>

Passo 9) Crea un nuovo TestNG Classe. Inserisci il nome del pacchetto come "esempio" e "NewTest" nel Nome: casella di testo e fare clic su Finitura pulsante come mostrato nello screenshot seguente:

Installa Maven e usalo con TestNG Selenium

Passo 10) Eclipse creerà la classe NewTest come mostrato nello screenshot seguente:

Installa Maven e usalo con TestNG Selenium

Passo 11) Aggiungi il seguente codice a NuovoTest classe. Questo codice verificherà il titolo della 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();			
		}		
}	

Passo 12) Fai clic con il pulsante destro del mouse sul progetto WebdriverTest e seleziona TestNG | Convertire in TestNG.
Eclipse creerà testng.xml che indica che è necessario eseguire un solo test con il nome NuovoTest come mostrato nello screenshot seguente:

Installa Maven e usalo con TestNG Selenium

Aggiorna il progetto e assicurati che il file compaia nella struttura ad albero. Esplora pacchetti (tasto destro sul progetto – Aggiorna).

Installa Maven e usalo con TestNG Selenium

Passo 13) Ora devi eseguire il test attraverso questo testng.xml.

Quindi, vai al Esegui configurazioni e creare un nuovo lancio TestNG, seleziona il progetto, imposta il campo Suite as testng.xmle fare clic su Esegui.

Installa Maven e usalo con TestNG Selenium

Assicurati che la compilazione venga completata con successo.

Passo 14) Inoltre, dobbiamo aggiungere

  1. plugin-compilatore-maven
  2. plug-in-sicuro
  3. testng.xml

al file pom.xml.

Il plugin maven-surefire-plugin viene utilizzato per configurare ed eseguire i test. Qui il plugin viene utilizzato per configurare il file testing.xml per il test. TestNG testare e generare rapporti di prova.

Il plugin maven-compiler-plugin viene utilizzato per facilitare la compilazione del codice e per utilizzare una particolare versione di JDK per la compilazione. Aggiungi tutte le dipendenze nel seguente frammento di codice al file pom.xml. nodo:

Installa Maven e usalo con TestNG Selenium

Passo 15) Per eseguire i test nel ciclo di vita Maven, fai clic con il pulsante destro del mouse sul progetto WebdriverTest e seleziona Correre come | Prova dell'espertoMaven eseguirà il test dal progetto.

Installa Maven e usalo con TestNG Selenium

Assicurati che la compilazione venga completata con successo.

Come integrare Jenkins con Selenium webdriver

Ecco i passaggi per l'installazione Jenkins LTS e configurarlo per eseguire Maven con TestNG Selenium.

Installazione

Passo 1) Vai su https://www.jenkins.io/download/ e scaricare il corretto Jenkins Pacchetto LTS per il tuo sistema operativo Installa Jenkins.

Integrazione di Jenkins Con Selenium webdriver

Passo 2) Decomprimere Jenkins in una cartella specificata. Eseguire il file .exe come mostrato nella seguente schermata:

Integrazione di Jenkins Con Selenium webdriver

Passo 3) Nel Jenkins Impostare finestra, fare clic su Avanti pulsante.

Integrazione di Jenkins Con Selenium webdriver

Passo 4) Clicca sul Installazione pulsante alla fine.

Integrazione di Jenkins Con Selenium webdriver

Passo 5) Una volta completata l'installazione, accedere a Jenkins Dashboard (http://localhost:8080 per impostazione predefinita) nella finestra del browser.

Integrazione di Jenkins Con Selenium webdriver

Passo 6) Clicca sul Nuovo elemento collegamento per creare un lavoro CI.

Integrazione di Jenkins Con Selenium webdriver

Passo 7) Selezionare il pulsante di scelta del progetto Maven come mostrato nello screenshot seguente:

Integrazione di Jenkins Con Selenium webdriver

Utilizzando la creazione a Progetto Maven opzione, Jenkins Supporta la creazione e il test di progetti Maven.

Passo 8) Fai clic sul pulsante OK. Viene creato un nuovo lavoro denominato "WebdriverTest" nel Jenkins Cruscotto.

Integrazione di Jenkins Con Selenium webdriver

Passo 9) Vai su gestire Jenkins => Configura sistema come mostrato nello screenshot seguente.

Integrazione di Jenkins Con Selenium webdriver

Fare clic su Installazioni JDK e configurare JDK come nello screenshot seguente:

Integrazione di Jenkins Con Selenium WebDrive

Passo 10) Vai Costruiamo sezione del nuovo lavoro.

  • Nel POM radice nella casella di testo, inserire il percorso completo del file pom.xml
  • Nella sezione Obiettivi e opzioni, inserisci "test pulito"

Integrazione di Jenkins Con Selenium webdriver

Passo 11) Clicca sul APPLICA pulsante.

Integrazione di Jenkins Con Selenium webdriver

Passo 12) Nella pagina del progetto WebdriverTest, fare clic su Costruire Ora collegamento.

Integrazione di Jenkins Con Selenium webdriver

Maven costruirà il progetto. Avrà allora TestNG eseguire i casi di test.

Passo 13) Una volta completato il processo di costruzione, nel Jenkins Dashboard fai clic su WebdriverTest progetto.

Integrazione di Jenkins Con Selenium webdriver

Passo 14) La pagina del progetto WebdriverTest mostra la cronologia delle build e i link ai risultati, come mostrato nello screenshot seguente:

Integrazione di Jenkins Con Selenium webdriver

Passo 15) Fare clic sul collegamento "Ultimo risultato del test" per visualizzare i risultati del test come mostrato nello screenshot seguente:

Integrazione di Jenkins Con Selenium webdriver

Passo 16) Seleziona una build specifica e vedrai lo stato attuale facendo clic su “uscita della console".

Integrazione di Jenkins Con Selenium webdriver

Programmazione Jenkins per l'esecuzione automatica

Pianificazione delle build (Selenium test) è una delle caratteristiche importanti di Jenkinsdove avvia automaticamente la build in base a criteri definiti. Jenkins Fornisce diversi modi per avviare il processo di compilazione nella configurazione di attivazione della compilazione.

Per esempio:
Inserisci 0 23 * * * nella casella di testo Schedule come mostrato nello screenshot seguente. Questo avvierà il processo di build ogni giorno alle 11 pm

Jenkins per l'esecuzione automatica

utilizzando Jenkins senza Maven

Per eseguire un puro TestNG sceneggiatura dentro Jenkins, inserisci quanto segue in build:

D:>java -cp “Percorsocartellalib\lib\*;Percorsocartellabin\bin” org.testng.TestNG testng.xml

Jenkins per l'esecuzione automatica

  • Clicca sul pulsante Salva.
  • Nota: il percorso effettivo delle cartelle lib e bin deve essere aggiunto al comando precedente.
  • Dopo aver salvato il comando, Jenkins il progetto verrà compilato all'ora predefinita e questo comando verrà eseguito utilizzando TestNG.
  • Il risultato verrà memorizzato in un file di report HTML personalizzato che può essere inviato tramite e-mail utilizzando un Jenkins configurazione.
  • L'output del codice sarà:

Jenkins per l'esecuzione automatica

I vantaggi dell'utilizzo di Jenkins

  1. Individuazione precoce dei problemi: i bug possono essere rilevati nelle prime fasi dello sviluppo del software.
  2. Integrazione automatica: non è necessario alcuno sforzo aggiuntivo per integrare tutte le modifiche.
  3. Installer – un sistema distribuibile disponibile in qualsiasi fase dello sviluppo.
  4. Registri – vengono conservati i registri delle costruzioni precedenti.
  5. Supporto e plugin: uno dei motivi per cui JenkinsLa popolarità di è dovuta alla disponibilità di un ampio supporto da parte della community. Sono inoltre disponibili numerosi plugin già pronti che consentono di ampliarne le funzionalità.

DOMANDE FREQUENTI

Maven gestisce le dipendenze e il ciclo di vita della build, Selenium guida il browser e Jenkins orchestra l'esecuzione. Insieme formano una pipeline CI completa che compila il codice, scarica i JAR richiesti, esegue Selenium esegue i test e pubblica automaticamente i report ad ogni commit.

Utilizzare Maven 3.x per la gestione delle dipendenze e della build e Jenkins LTS per un'integrazione continua stabile. Queste versioni forniscono supporto a lungo termine, patch di sicurezza e ampia compatibilità dei plugin per Selenium WebDriver, TestNGe i plugin di reporting Surefire.

Sì. Le serrature scorrevoli portatili e i catenacci a superficie possono essere usati per mettere in sicurezza una porta a scomparsa dall'esterno. Alcuni kit con catena di sicurezza consentono anche il bloccaggio esterno con chiave o manopola girevole. Jenkins utilizza la sintassi in stile cron nella sezione Trigger di build per pianificare Selenium suite. Ad esempio, 0 23 * * * gestisce la suite ogni notte alle 23:00 Jenkins può anche attivare le build in seguito a polling SCM o eventi webhook.

AI-alimentato Jenkins I plugin prevedono test instabili, ottimizzano automaticamente gli agenti di compilazione e rilevano anomalie nei log della console. Riducono il rumore della pipeline, accelerano il feedback e suggeriscono la parallelizzazione ottimale, che mantiene Selenium suite affidabili anche quando il numero di test raggiunge le migliaia.

Sì. L'analisi dell'impatto dei test basata sull'IA mappa le modifiche al codice agli elementi interessati Selenium scenari e esegue solo il sottoinsieme rilevante in JenkinsCiò accorcia i cicli di feedback, riduce i costi dell'infrastruttura e preserva la copertura completa programmando una regressione completa nelle build notturne.

Riassumi questo post con: