Icono del sitio BorrowBits

Probando un formulario web usando Selenium con Java (II)

Lo prometido es deuda y por ello vamos a continuar con el siguiente artículo sobre la serie sobre Selenium. En esta ocasión, vamos a realizar una prueba básica de un formulario usando Selenium WebDriver. En este ejemplo veremos cómo rellenar un formulario web básico (nombre de usuario y contraseña) y pulsar botón de ingresar en la web de Amazon.
La virtud de usar este framework para testing es la facilidad con la que se pueden implementar las pruebas y la multitud de opciones de las que disponemos.

Vamos al grano y cuando hablamos de programación la mejor manera es pasando a explicar directamente al código fuente necesario para implementar la prueba.

En primer lugar importamos las clases necesarias.

import java.util.concurrent.TimeUnit;

// Importamos la clase de Selenium
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;

A continuación pasamos a implementar la clase Prueba Formulario. Directamente vamos al método main y creamos una instancia de FirefoxDriver (la prueba se hará en Firefox). Se ha comentado cada una de las sentencias en el código Java

public class PruebaFormulario{

     public static void main(String[] args) {
			
	// Creamos una instancia de FirefoxDriver
	 WebDriver driver = new FirefoxDriver();
			 
	// Definimos dos variables para almacenar el momento en que comienza y finaliza la prueba
	long time_start, time_end;
			 
	String web = "http://www.amazon.es";
	System.out.println("Entrando a: " + web);
			 
	time_start = System.currentTimeMillis();
	driver.get(web);
			 
	System.out.println("Carga de: " + web + "finalizada");
			 
	//Maximizamos la ventana 
	driver.manage().window().maximize();
			 
	//Pulsamos el botón para logarnos en la web
	driver.findElement(By.id("nav-link-yourAccount")).click();
			 
	 System.out.println("Botón Identificarse pulsado");
			 
	 //Buscamos el elemento para introducir el usuario
	 WebElement element;
	 element = driver.findElement(By.id("ap_email"));
	 element.sendKeys("aaaa@gmail.com");
			 
	 System.out.println("Email introducido");
			 
	 //Buscamos el elemento para introducir la  contraseña
	  WebElement element2;
	  element2 = driver.findElement(By.id("ap_password"));
          //Introducimos la contraseña
	  element2.sendKeys("prueba");
			 
	  System.out.println("Contraseña introducida");
			 
	 //Pulsamos botón para logarnos
	 driver.findElement(By.id("signInSubmit-input")).click();
			 
	 System.out.println("Login completado en: " + web);
			 
	 time_end = System.currentTimeMillis();
	 double  time_total= time_end - time_start;
	 System.out.println("El tiempo tomado ha sido: "+ (time_total) +" ms");
	 System.out.println("El tiempo tomado ha sido: "+ (time_total/1000) +" s");

	}

}

Lo más reseñable de este primer caso de prueba es la sentencia:

findElement(By.id("xxx"))

Mediante la misma conseguimos localizar el elemento con id especificado, que previamente hemos obtenido mediante las opciones de desarrollador en cualquier explorador tal y como podemos ver en la siguiente imagen:

En este enlace, podemos ver más opciones para buscar elementos dentro de una web usando Selenium. Es importante puntualizar que siempre que podamos usaremos By.id ya que es el más eficiente de todos.

Como hemos visto con este ejemplo, es muy sencillo implementar la prueba de un formulario básico realizada con Selenium. ¿Qué os ha parecido? Si tenéis cualquier duda o comentario, no dudéis en escribir.

Aprovecho también para dejaros un enlace al primer artículo sobre Selenium.

Salir de la versión móvil