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 0 Comentarios

Conferencia Hacker: Black Hat 2013

A finales del mes de Julio se celebró en las Vegas una nueva edición de las conferencias sobre la seguridad de la información más importantes del mundo, la conocida como

Desarrollo 2 Comentarios

DART, ¿el fin de JavaScript?

Probablemente sí. Pero todavía muchos piensan que no. Hubo polémica al respecto la semana pasada en el Qcon 2012 de Londres. Dart es, de hecho, un nuevo lenguaje que ha venido para quedarse,

Internet 1Comments

Internet: No es oro todo lo que reluce

Hay algo que me tiene bastante quemado desde hace tiempo, y estoy seguro que más de uno se siente identificado. “En internet está todo”. Estoy totalmente de acuerdo con esta

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