Probando un formulario web usando Selenium con Java (II)

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.

java_selenium

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:

captura_amazon

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.

Previous Cómo utilizar un dominio personalizado en Tumblr
Next VoLTE vs VoIP: la diferencia está en la QoS

About author

Vicente
Vicente 88 posts

(Cofundador) Ingeniero Telecomunicación. Interesado en las últimas novedades tecnológicas por las que desde muy temprana edad, sentí una gran atracción. Dentro del inmenso mundo de las telecomunicaciones, siento predilección por la ingeniería de redes. Experimentado desarrollador Java.

You might also like

Internet 2 Comentarios

8 claves para convertirte en un Gurú de Internet

Repentinamente, todo el mundo sabe cantidad de cosas sobre marketing en Internet y los mejores trucos para forrarte con tu negocio en la red. A todos se les llena la

10 recursos online gratuitos para perfeccionar tu inglés

BBC Learning English, That’s English, Lyrics Training son algunos de los diez recursos más útiles para mejorar nuestro inglés.

Internet 3 Comentarios

¿Cómo funciona Internet? Telecomunicaciones para Dummies

Continuamos con esta apasionante serie bautizada como Telecomunicaciones para dummies, esto es; explicadas de manera que podría entenderlas incluso tu madre o esa tía tuya que se lleva tan mal

2 Comentarios

  1. Herediando
    octubre 29, 21:27 Reply

    Excelente atribución, aún existimos mortales usando estas documentaciones :D

  2. Rafa M.
    octubre 20, 12:05 Reply

    ¡Buen artículo Vicente! :)

    Sólo añadir, que para aquellos que utilicéis Chrome, habría que usar el siguiente WebDriver, os pongo un ejemplo de como lo he implementado yo:

    //My path: C:\Users\RaFa\Downloads\chromedriver_win32\chromedriver.exe
    String exePath = “C:\\Users\\RaFa\\Downloads\\chromedriver_win32\\chromedriver.exe”;
    System.setProperty(“webdriver.chrome.driver”, exePath);
    WebDriver driver = new ChromeDriver();

    Aquí la documentación relacionada, en la que se explica con más detalle:
    http://www.toolsqa.com/selenium-webdriver/running-tests-in-chrome-browser/

Deja un comentario