Crear un script de prueba en Selenium WebDriver

Primer script de Selenium Webdriver: ejemplo con Java

Utilizando la clase de Java «MyClass» que hemos creado en el tutorial anterior, vamos a crear un script de webdriver que: 
  • Traiga la página de inicio de «Mercury Tour’s»
  • Verifique su título
  • Imprimir el resultado de la comparación 
  • Cerrarlo antes de poner fin a la totalidad Programa.

Código Webdriver

A continuación se muestra el código actual de la lógica que se presenta en el escenario anterior.
 
Nota: A partir de Firefox 35, necesitas usar geckodriver creado por Mozilla para usar WebDriver. Selenium 3.0, Gecko y Firefox tiene problemas de compatibilidad y establecerlos correctamente podría convertirse en una ardua tarea. Si el código no funciona, cambie a Firefox versión 47 o inferior. Alternativamente, puede ejecutar sus script en Chrome. Sólo tienes que cambiar 3 líneas de código para que tu script funcione con Chrome o Firefox.
package newproject;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
//comentar la línea anterior y descomentar la línea de abajo para utilizar Chrome
//import org.openqa.selenium.chrome.ChromeDriver;
public class PG1 {
public static void main(String[] args) {
// declaracion e instanciar los objectos/variables
System.setProperty("webdriver.firefox.marionette","C:\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
//comentar las 2 líneas anteriores y descomentar las 2 líneas de abajo para usar Chrome
//System.setProperty("webdriver.chrome.driver","G:\chromedriver.exe");
//WebDriver driver = new ChromeDriver();
String baseUrl = "http://demo.guru99.com/selenium/newtours/";
String expectedTitle = "Welcome: Mercury Tours";
String actualTitle = "";
// lanzar Firefox y dirigirlo a la base URL
driver.get(baseUrl);
// obtener el valor real del título
actualTitle = driver.getTitle();
/* Compara el título real de la página con la que se espera e imprime
* el resultado es "Passed" o "Failed"
*/
if (actualTitle.contentEquals(expectedTitle)){
System.out.println("Test Passed!");
} else {
System.out.println("Test Failed");
}
//Cerrar firefox
driver.close();
}
}

Explicando el código 

Importando los paquetes

Para empezar, necesita importar los siguientes dos paquetes:
  1. org.openqa.selenium.* – contiene la clase Webdriver necesaria para crear instancias de un nuevo explorador cargado con un controlador específico.
  2. org.openqa.selenium.firefox.FirefoxDriver – contiene la clase FirefoxDriver necesaria para crear instancias de un controlador específico de Firefox en el explorador instanciado por la clase Webdriver.
Si su prueba necesita acciones más complicadas como acceder a otra clase, tomar capturas de pantalla del navegador o manipular archivos externos, definitivamente necesitará importar más paquetes.

Instanciando objetos y variables

Normalmente, se crea una instancia de un objeto driver.
WebDriver driver = new FirefoxDriver();
Una clase FirefoxDriver sin parámetros significa que el perfil de Firefox predeterminado será lanzado por nuestro programa de Java. El perfil de Firefox predeterminado es similar al lanzamiento de Firefox en modo seguro (no hay extensiones cargadas).
Para mayor comodidad, guardamos la URL base y el título esperado como variables.

Iniciar una sesión de explorador

El método get() de Webdriver se utiliza para iniciar una nueva sesión de explorador y la dirige a la dirección URL que especifique como parámetro.
driver.get(baseUrl)

Obtener el título de la página actual

La clase Webdriver tiene el método getTitle() que siempre se utiliza para obtener el título de página de la página cargada actualmente.
actualTitle = driver.getTitle();

Comparar valores actuales con valores esperados

Esta parte del código simplemente utiliza una estructura básica de Java IF-Else para comparar el título real con el esperado.
if (actualTitle.contentEquals(expectedTitle)){
      System.out.println("Test Passed!");
    }else {
      System.out.println("Test Failed!");
    }

Terminar una sesión del navegador

El método Close() se utiliza para cerrar la ventana del navegador.
driver.close();

Finalizar el programa completo

System.exit(0);

Ejecución de la prueba

Hay dos formas de ejecutar código en Eclipse IDE.
  1. En la barra de menús de Eclipse, haga clic en Run > Run.
  2. Presione Ctrl+F11 para ejecutar el código completo.
script de prueba selenium webdriver
Si hiciste todo correctamente, el Eclipse imprimirá «¡test passed!»
 
script de prueba selenium webdriver
Como pueden ver, es un script demasiado sencillo pero que creímos que sería perfecto para generar una idea básica de como se escribe un script de prueba con Selenium Webdriver. Hay entradas en donde profundizamos más, usamos comandos de Selenium WebDriver, Framework de prueba, tiempos de esperas, etc. 

Si deseas continuar aprendiendo Selenium WebDriver hasta llegar a ser todo un experto te recomiendo que continúes con la siguiente entrada: 
Como localizar elementos Selenium WebDriver

Podrás encontrar más información sobre Selenium WebDriver en nuestro tutorial.
Tutorial Selenium Webdriver en Español
En el siguiente enlace, encontrarás documentación oficial de Selenium WebDriver

Compartir artículo

Leave Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.