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í.



Deja un comentario