En este tema, aprenderás a crear casos de prueba utilizando TestNG, un popular marco de pruebas para Java que se integra perfectamente con Selenium. TestNG proporciona una serie de características avanzadas que facilitan la creación, ejecución y gestión de pruebas automatizadas.

Conceptos Clave de TestNG

Antes de comenzar a escribir casos de prueba, es importante entender algunos conceptos clave de TestNG:

  • Anotaciones: TestNG utiliza anotaciones para definir métodos de prueba y su comportamiento. Algunas de las anotaciones más comunes son @Test, @BeforeMethod, @AfterMethod, @BeforeClass, y @AfterClass.
  • Suite de Pruebas: Una colección de casos de prueba que se ejecutan juntos.
  • Asserts: Utilizados para verificar que los resultados de las pruebas sean los esperados.

Configuración Básica de un Caso de Prueba

Paso 1: Configurar el Proyecto

Asegúrate de que tu proyecto esté configurado con Selenium y TestNG. Si no lo has hecho, revisa el módulo anterior sobre la configuración de TestNG con Selenium.

Paso 2: Crear una Clase de Prueba

Crea una nueva clase de Java en tu proyecto. Esta clase contendrá tus métodos de prueba.

import org.testng.annotations.Test;

public class MiPrimeraPruebaTestNG {

    @Test
    public void pruebaEjemplo() {
        System.out.println("Este es mi primer caso de prueba con TestNG");
    }
}

Explicación del Código

  • @Test: Esta anotación indica que el método pruebaEjemplo es un caso de prueba.
  • System.out.println: Este es un simple comando para imprimir un mensaje en la consola, utilizado aquí para demostrar la ejecución del caso de prueba.

Paso 3: Ejecutar el Caso de Prueba

Para ejecutar el caso de prueba, puedes usar un IDE como IntelliJ IDEA o Eclipse. Haz clic derecho en la clase de prueba y selecciona "Run As" -> "TestNG Test".

Uso de Asserts en TestNG

Los asserts son fundamentales para validar los resultados de tus pruebas. Aquí hay un ejemplo de cómo usarlos:

import org.testng.Assert;
import org.testng.annotations.Test;

public class PruebaConAsserts {

    @Test
    public void verificarTituloPagina() {
        String tituloEsperado = "Página de Inicio";
        String tituloActual = "Página de Inicio"; // Simulación de obtener el título de una página web

        Assert.assertEquals(tituloActual, tituloEsperado, "El título de la página no coincide");
    }
}

Explicación del Código

  • Assert.assertEquals: Compara dos valores. Si no son iguales, la prueba falla y se muestra el mensaje proporcionado.
  • tituloEsperado y tituloActual: Variables que simulan el título esperado y el título real de una página web.

Ejercicio Práctico

Ejercicio

Crea un caso de prueba que verifique si un número es par. Usa TestNG para implementar el caso de prueba.

Solución

import org.testng.Assert;
import org.testng.annotations.Test;

public class VerificarNumeroPar {

    @Test
    public void esNumeroPar() {
        int numero = 4;
        boolean esPar = (numero % 2 == 0);

        Assert.assertTrue(esPar, "El número no es par");
    }
}

Explicación del Código

  • numero % 2 == 0: Verifica si el número es divisible por 2, lo que indica que es par.
  • Assert.assertTrue: Verifica que la condición esPar sea verdadera. Si no lo es, la prueba falla.

Conclusión

En esta sección, aprendiste a crear casos de prueba básicos utilizando TestNG. Aprendiste sobre las anotaciones de TestNG, cómo ejecutar casos de prueba y cómo usar asserts para validar resultados. Estos fundamentos te preparan para crear pruebas más complejas y robustas en los siguientes módulos. Asegúrate de practicar creando tus propios casos de prueba para afianzar estos conceptos.

Automatización de Pruebas con Selenium

Módulo 1: Introducción a la Automatización de Pruebas

Módulo 2: Comenzando con Selenium

Módulo 3: Localización de Elementos Web

Módulo 4: Interacción con Elementos Web

Módulo 5: Sincronización en Selenium

Módulo 6: Marcos de Pruebas y Selenium

Módulo 7: Conceptos Avanzados de Selenium

Módulo 8: Selenium Grid y Pruebas en Paralelo

Módulo 9: Integración Continua y Selenium

Módulo 10: Mejores Prácticas y Solución de Problemas

© Copyright 2024. Todos los derechos reservados