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.

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

  1. 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:

  1. Obre Eclipse i selecciona el teu projecte.
  2. Fes clic dret sobre el projecte i selecciona Properties.
  3. A la finestra de propietats, selecciona Java Build Path.
  4. A la pestanya Libraries, fes clic a Add Library.
  5. Selecciona TestNG i fes clic a Next.
  6. 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.

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

Mòdul 2: Començant amb Selenium

Mòdul 3: Localització d'Elements Web

Mòdul 4: Interacció amb Elements Web

Mòdul 5: Sincronització en Selenium

Mòdul 6: Marc de Proves i Selenium

Mòdul 7: Conceptes Avançats de Selenium

Mòdul 8: Selenium Grid i Proves en Paral·lel

Mòdul 9: Integració Contínua i Selenium

Mòdul 10: Millors Pràctiques i Resolució de Problemes

© Copyright 2024. Tots els drets reservats