En aquest tema, aprendrem com configurar TestNG per treballar amb Selenium. TestNG és un marc de proves popular que proporciona funcionalitats avançades per a l'execució de proves, com ara l'agrupació, la priorització i l'execució paral·lela. Integrar TestNG amb Selenium ens permetrà gestionar i executar les nostres proves de manera més eficient.
- Què és TestNG?
TestNG és un marc de proves inspirat en JUnit i NUnit, però amb característiques addicionals que el fan més potent i flexible. Algunes de les seves característiques clau inclouen:
- Anotacions: Faciliten la configuració de proves i la gestió del cicle de vida de les proves.
- Execució paral·lela: Permet executar proves en paral·lel per reduir el temps total d'execució.
- Proves basades en dades: Suporta proves amb diferents conjunts de dades.
- Informes detallats: Genera informes detallats sobre l'execució de les proves.
- Configuració de TestNG amb Selenium
2.1. Instal·lació de TestNG
Per començar a utilitzar TestNG amb Selenium, primer hem d'instal·lar TestNG al nostre projecte. A continuació es mostren els passos per fer-ho en un projecte Java utilitzant Eclipse:
- Obre Eclipse i selecciona el teu projecte.
- Fes clic dret sobre el projecte i selecciona
Properties
. - A la finestra de propietats, selecciona
Java Build Path
. - A la pestanya
Libraries
, fes clic aAdd Library
. - Selecciona
TestNG
i fes clic aNext
. - Fes clic a
Finish
per completar la instal·lació.
2.2. Configuració del Fitxer testng.xml
El fitxer testng.xml
és el cor de la configuració de TestNG. Defineix quines classes de prova s'executaran i com es gestionaran les proves. Aquí tens un exemple bàsic de testng.xml
:
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > <suite name="Suite de Proves"> <test name="Proves de Selenium"> <classes> <class name="com.exemple.tests.PrimerTestSelenium"/> </classes> </test> </suite>
2.3. Creació d'un Cas de Prova amb TestNG
A continuació, crearem un cas de prova senzill utilitzant TestNG i Selenium:
import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; public class PrimerTestSelenium { WebDriver driver; @BeforeClass public void setup() { System.setProperty("webdriver.chrome.driver", "ruta/al/driver/chromedriver"); driver = new ChromeDriver(); } @Test public void provaGoogle() { driver.get("https://www.google.com"); assert driver.getTitle().equals("Google"); } @AfterClass public void teardown() { driver.quit(); } }
Explicació del Codi
- @BeforeClass: Aquesta anotació indica que el mètode
setup
s'executarà abans de qualsevol mètode de prova en la classe. Aquí inicialitzem el WebDriver. - @Test: El mètode
provaGoogle
és el nostre cas de prova. Naveguem a Google i verifiquem que el títol de la pàgina sigui "Google". - @AfterClass: El mètode
teardown
s'executa després de tots els mètodes de prova. Aquí tanquem el navegador.
- Execució de les Proves
Per executar les proves, simplement fes clic dret sobre el fitxer testng.xml
a Eclipse i selecciona Run As
> TestNG Suite
. TestNG gestionarà l'execució de les proves i generarà un informe detallat.
Conclusió
En aquesta secció, hem après com configurar TestNG per treballar amb Selenium, incloent la instal·lació de TestNG, la configuració del fitxer testng.xml
i la creació d'un cas de prova bàsic. Aquesta configuració ens permet aprofitar les potents funcionalitats de TestNG per gestionar i executar les nostres proves de manera eficient. En el següent tema, explorarem com crear casos de prova més complexos amb TestNG.
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