La automatización de pruebas web puede ser un desafío para los testers. Configurar el entorno adecuado, iniciar el navegador y lograr una interacción efectiva con el sitio web puede llevar mucho tiempo y esfuerzo. Pero no te preocupes, en este artículo te mostraré cómo automatizar una página web en 40 segundos utilizando TestNG, Selenium WebDriver y DriverManager. ¡Vamos a darle al código!
Paso 1: Preparación del Terreno
Antes de comenzar, asegúrate de tener instaladas el JDK y el IDE.
Paso 2: ¡Al Tajo!
Comienza creando un nuevo proyecto de Java en tu IDE favorito y agrega las dependencias requeridas para TestNG, Selenium WebDriver y DriverManager en tu archivo de configuración de Maven o Gradle.

Paso 3: Agregar Dependencias en el archivo pom.xml
Abre tu archivo pom.xml
y agrega las siguientes dependencias para TestNG, Selenium WebDriver y DriverManager:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.qaxpert</groupId>
<artifactId>QAX40s</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.15.0</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.4.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>5.6.2</version>
</dependency>
</dependencies>
<properties>
<maven.compiler.source>19</maven.compiler.source>
<maven.compiler.target>19</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>
Paso 4: Escribir las Pruebas
Vamos a escribir algunas pruebas utilizando TestNG y Selenium WebDriver. Por ejemplo, podríamos verificar que el título de la página coincida con nuestras expectativas.
Paso 4.1: Creación del Archivo TestingQAX.java
y Importación de Librerías
Crea un nuevo archivo llamado TestingQAX.java
en tu proyecto y asegúrate de importar las siguientes librerías:
import io.github.bonigarcia.wdm.WebDriverManager;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
public class TestingQAX {
}
Paso 4.2: Crear el Objeto WebDriver
Crea un objeto WebDriver
para interactuar con el navegador:
@BeforeTest
public void setUp() {
driver = new ChromeDriver();
}
@Test
public void ejecutarPrueba() {
// Aquí irá el código de la prueba
}
@AfterTest
public void tearDown() {
if (driver != null) {
driver.quit();
}
}
Paso 4.4: Utilizar DriverManager para Levantar el Navegador con la Página de QAXpert.com
Ahora, utiliza DriverManager para levantar el navegador con la página de QAXpert.com:
@BeforeTest
public void setUp() {
WebDriverManager.chromedriver().setup();
driver = new ChromeDriver();
driver.get("https://qaxpert.com/hands-on/");
}
Paso 4.5: Crear los Elementos con los Localizadores de la Página
Crea los elementos de la página utilizando los localizadores adecuados:
By botonLogin = By.xpath("//a[text()='Login']");
By campoUsuario = By.id("usuario");
By campoContrasena = By.id("contrasena");
By botonIniciarSesion = By.xpath("//button[text()='Iniciar Sesión']");
Paso 4.6: Interactuar con la Página
Interactúa con la página realizando acciones como hacer clic en botones, ingresar texto en campos, etc.
@Test
public void AutomatizandoQAX() {
WebElement login = driver.findElement(botonLogin);
login.click();
WebElement usuario = driver.findElement(campoUsuario);
usuario.sendKeys("qaxpert");
WebElement contrasena = driver.findElement(campoContrasena);
contrasena.sendKeys("Ninja For Testing");
WebElement iniciarSesion = driver.findElement(botonIniciarSesion);
iniciarSesion.click();
}
Paso 4.7: Cerrar el Driver
Asegúrate de cerrar el driver después de ejecutar la prueba:
@AfterTest
public void tearDown() {
if (driver != null) {
driver.quit();
}
}
Con estos ajustes, las pruebas automatizadas interactuarán correctamente con la página de QAXpert.com, haciendo clic en el botón de login, ingresando el usuario y la contraseña, y luego iniciando sesión. ¡Estás listo para picar y automatizar tus pruebas web en menos de un minuto!
Asi debería de quedar la clase TestingQAX.java
import io.github.bonigarcia.wdm.WebDriverManager;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterSuite;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
public class TestingQAX {
private WebDriver driver;
@BeforeTest
public void setUp() {
WebDriverManager.chromedriver().setup();
driver = new ChromeDriver();
driver.get("https://qaxpert.com/hands-on/");
}
@Test
public void AutomatizandoQAX() {
By botonLogin = By.xpath("//a[text()='Login']");
By campoUsuario = By.id("usuario");
By campoContrasena = By.id("contrasena");
By botonIniciarSesion = By.xpath("//button[text()='Iniciar Sesión']");
WebElement login = driver.findElement(botonLogin);
login.click();
WebElement usuario = driver.findElement(campoUsuario);
usuario.sendKeys("qaxpert");
WebElement contrasena = driver.findElement(campoContrasena);
contrasena.sendKeys("Ninja For Testing");
WebElement iniciarSesion = driver.findElement(botonIniciarSesion);
iniciarSesion.click();
}
@AfterSuite
public void exit(){
driver.quit();
}
}