WebDriver: Herramienta para Testing Aplicaciones Web

WebDriver es una herramienta para automatizar los test de aplicaciones Web. Provee un API muy sencilla de usar, que puede usarse desde JUnit, TestNG o desde un main al viejo estilo.

WebDriver no depende de un core javascript embebido en el navegador (como Selenium), lo que hace que sea mucho más potente y consistente entre navegadores….tanto que en la próxima versión de Selenium (Selenium 2) Selenium y WebDriver convergen…pero eso es otra historia 🙂

WebDriver añade a Selenium temas como:

· Testing multibrowser: soportando ejecuciones directas sobre IE, Mozilla y Chrome.

· Control de varios frames, popups, alerts,…

· Navegación entre páginas

· Elementos AJAX

WebDriver ofrece 4 drivers, para HtmlUnit, Firefox, IE y Chrome:

Cada Driver tiene ventajas e inconvenientes, resumiendo:

DRIVER PROS CONTRAS
HtmlUnitDriver El más rápido 

Solución Java independiente de la plataforma

Emula comportamiento Javascript de los navegadores (Rhino)
FirefoxDriver Corre en un navegador real 

Más rápido que el Driver IE

InternetExplorerDriver Corre en IE Más lento 

Sólo Windows claro

ChromeDriver Corre en Chrome 

Al ser Chrome un navegador WebKit permite probar que funcionará en cualquier navegador WebKit (aunque no es cierto 100%)

Para ejecutar el ejemplo que vamos a ver necesitáis descargaros Selenium Server Java (esto si que es una convergencia) y añadir el JAR a vuestro proyecto:

Ejemplo de Búsqueda con Google: el ejemplo no requiere mucha explicación, se ve lo sencillo que es:

import org.openqa.selenium.By; 

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.htmlunit.HtmlUnitDriver;

import org.openqa.selenium.ie.InternetExplorerDriver;

public class TestFindWithGoogle {

public static void main(String[] args) {

//WebDriver driver = new HtmlUnitDriver();

WebDriver driver = new InternetExplorerDriver();

driver.get(«http://www.yahoo.es»);

WebElement element = driver.findElement(By.name(«p»));

//WebElement element = driver.findElement(By.xpath(«//input[@name=’q’]»));

element.sendKeys(«Forza Atleti!»);

element.submit();

System.out.println(«El título de mi página es: » + driver.getTitle());

}

}

Podéis ver más ejemplos aquí.

Respuestas

  1. Una muy buena herramienta de testing de aplicaciones web es el programa agileload.
    AgileLoad ejecuta múltiples transacciones concurrentes para emular una serie de actividades y comportamientos de usuarios finales. Los inyectores de carga de AgileLoad pueden ser instalados en una red local o en una nube para simular todo tipo de carga de trabajo para tus aplicaciones y pruebas de rendimiento. AgileLoad ofrece la posibilidad de definir dinámicamente el comportamiento de los inyectores de carga para facilitar y acelerar la detección de umbrales de rendimiento o cuellos de botella de una aplicación.

  2. Jmeter es lo mejor o BlazeMeter, Deberías conocer estas herramientas.

Deja un comentario