En aquesta secció, aprendrem com integrar Selenium amb Jenkins per automatitzar l'execució de proves en un entorn d'integració contínua. Jenkins és una eina de codi obert que facilita la integració contínua i l'automatització de processos de desenvolupament de programari. Integrar Selenium amb Jenkins ens permetrà executar proves automàtiques de manera regular i obtenir informes detallats sobre els resultats.
Objectius d'Aprenentatge
- Comprendre la importància de la integració contínua en el procés de desenvolupament de programari.
- Configurar Jenkins per executar proves de Selenium.
- Crear i configurar un treball de Jenkins per a l'execució de proves.
- Analitzar els resultats de les proves i generar informes.
Requisits Previs
Abans de començar, assegura't de tenir instal·lats els següents components:
- Jenkins: Instal·lat i configurat en el teu sistema. Pots descarregar-lo des del lloc oficial de Jenkins.
- Java: Jenkins requereix Java per funcionar. Assegura't que Java estigui instal·lat i configurat correctament.
- Selenium WebDriver: Ja hauries de tenir Selenium configurat des dels mòduls anteriors.
Passos per Integrar Selenium amb Jenkins
- Instal·lació de Jenkins
Si encara no has instal·lat Jenkins, segueix aquests passos:
- Descarrega l'última versió de Jenkins des del lloc oficial.
- Segueix les instruccions d'instal·lació per al teu sistema operatiu.
- Un cop instal·lat, inicia Jenkins i accedeix a la interfície web a través del navegador (normalment a
http://localhost:8080
).
- Configuració de Jenkins
- Inicia Sessió a Jenkins: Utilitza les credencials configurades durant la instal·lació.
- Instal·la Plugins Necessaris: Aneu a
Manage Jenkins
>Manage Plugins
i assegura't que els plugins necessaris per a Selenium i integració contínua estiguin instal·lats (per exemple,JUnit
,Maven Integration Plugin
si utilitzes Maven, etc.).
- Creació d'un Treball de Jenkins
- Crea un Nou Treball: A la pàgina principal de Jenkins, fes clic a
New Item
. - Selecciona el Tipus de Treball: Tria
Freestyle project
i dóna-li un nom al teu treball. - Configura el Treball:
- Source Code Management: Si el teu codi de proves està en un repositori, configura l'accés al repositori (per exemple, Git).
- Build Triggers: Configura quan vols que s'executin les proves (per exemple, després de cada commit).
- Build Environment: Configura l'entorn d'execució si és necessari.
- Build: Afegeix un pas de construcció per executar les proves de Selenium. Això pot ser un script de shell o una configuració de Maven/Gradle si utilitzes aquests sistemes de construcció.
- Execució de Proves i Generació d'Informes
- Executa el Treball: Un cop configurat, fes clic a
Build Now
per executar el treball. - Revisa els Resultats: Un cop finalitzada l'execució, revisa els resultats de les proves. Jenkins mostrarà un resum dels resultats i, si has configurat correctament els informes, podràs veure detalls específics de cada prova.
- Anàlisi i Informes
- Configura Informes de JUnit: Si utilitzes JUnit per a les teves proves, assegura't que els resultats es publiquin correctament. A la configuració del treball, afegeix un pas de post-construcció per publicar els resultats de JUnit.
- Revisa els Informes: Accedeix als informes detallats per analitzar els resultats de les proves i identificar possibles errors o millores.
Exercici Pràctic
Objectiu: Configurar un treball de Jenkins per executar un script de prova de Selenium i generar un informe de resultats.
Passos:
- Crea un script de prova de Selenium que obri un navegador, navegui a un lloc web i verifiqui un element específic.
- Configura un treball de Jenkins per executar aquest script.
- Executa el treball i revisa els resultats.
- Genera un informe utilitzant JUnit o un altre sistema d'informes.
Solució:
// Exemple de script de Selenium en Java import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.junit.Assert; import org.junit.Test; public class SeleniumTest { @Test public void testGoogleSearch() { System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver"); WebDriver driver = new ChromeDriver(); driver.get("https://www.google.com"); Assert.assertEquals("Google", driver.getTitle()); driver.quit(); } }
Configuració de Jenkins:
- Crea un treball de Jenkins i afegeix un pas de construcció per executar el script anterior.
- Configura la publicació d'informes de JUnit per veure els resultats detallats.
Conclusió
Integrar Selenium amb Jenkins és un pas fonamental per automatitzar el procés de proves en un entorn d'integració contínua. Aquesta integració permet executar proves de manera regular, detectar errors ràpidament i millorar la qualitat del programari. Amb la configuració adequada, pots obtenir informes detallats que t'ajudaran a analitzar i millorar les teves proves.
Automatització de Proves amb Selenium
Mòdul 1: Introducció a l'Automatització de Proves
- Què és l'Automatització de Proves?
- Beneficis de l'Automatització de Proves
- Visió General de Selenium
- Configuració del Teu Entorn
Mòdul 2: Començant amb Selenium
- Introducció a Selenium WebDriver
- Instal·lació de Selenium WebDriver
- Primer Script de Selenium
- Comprensió de la Interfície WebDriver
Mòdul 3: Localització d'Elements Web
- Introducció als Localitzadors
- Ús de Localitzadors ID i Nom
- XPath i Selectors CSS
- Estratègies Avançades de Localització
Mòdul 4: Interacció amb Elements Web
- Realització d'Accions sobre Elements Web
- Gestió de Desplegables i Caixes de Selecció
- Treballant amb Alertes i Pop-ups
- Gestió de Finestres del Navegador i Frames
Mòdul 5: Sincronització en Selenium
Mòdul 6: Marc de Proves i Selenium
- Introducció a TestNG
- Configuració de TestNG amb Selenium
- Creació de Casos de Prova TestNG
- Proves Basades en Dades amb TestNG
Mòdul 7: Conceptes Avançats de Selenium
- Gestió de Trucades AJAX
- Treballant amb Cookies
- Captura de Captures de Pantalla
- Execució de JavaScript amb Selenium
Mòdul 8: Selenium Grid i Proves en Paral·lel
- Introducció a Selenium Grid
- Configuració de Selenium Grid
- Execució de Proves en Paral·lel
- Proves Multinavegador
Mòdul 9: Integració Contínua i Selenium
- Introducció a la Integració Contínua
- Integració de Selenium amb Jenkins
- Automatització de l'Execució de Proves
- Informes i Registre