Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.pineapple.eckotur.web.test; import java.util.List; import java.util.concurrent.TimeUnit; import org.junit.AfterClass; import static org.junit.Assert.*; import org.junit.Before; import org.junit.BeforeClass; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.support.ui.Select; import org.junit.runners.MethodSorters; import org.junit.FixMethodOrder; import org.junit.Test; /** * * @author JuanCruz */ public class RegisterTest { // Es la instancia inicial del web driver que controlar el navegador firefox private static WebDriver driver; // url en el cual se aloja la pgina web (en este caso localhost:8080) private static String baseUrl; // variable que indica si varios alert consecutivos (alert javascript) se tomarn private static boolean acceptNextAlert = true; private static StringBuffer verificationErrors = new StringBuffer(); /*La anotacin @BeforeClass indica lo que se debe ejecutar ANTES de correr el archivo de pruebas. Este mtodo instancia un nuevo driver firefox (causando la apertura de una ventana fsica de firefox).*/ @BeforeClass public static void setUp() throws Exception { driver = new FirefoxDriver(); // se define el url base del proyecto web baseUrl = "http://localhost:8080/Eckotur.service/login.html"; /* Indica cuanto se espera para la respuesta de cualquier comando realizado hacia el navegador*/ driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); } // La anotacin @AfterClass indica lo que se debe ejecutar DESPUES de ejecutar // el archivo de pruebas. Este mtodo cierra la ventana de firefox // abierta por @BeforeClass que se utiliz para la prueba. @AfterClass public static void tearDown() throws Exception { // Se cierra el navegador. driver.quit(); // Se verifica que se haya cerrado efectivamente el navegador. String verificationErrorString = verificationErrors.toString(); if (!"".equals(verificationErrorString)) { fail(verificationErrorString); } } @Test public void t1Register() throws Exception { boolean success = false; /** * Comando que busca el elemento 'name1' en el html actual. Ver ids en country.tpl.html * Posteriormente limpia su contenido (comando clear). */ driver.findElement(By.id("nombre")).clear(); /** * Comando que simula la escritura de un valor en el elemento(sendKeys) * con el String de parmetro sobre // el elemento encontrado. */ driver.findElement(By.id("nombre")).sendKeys("Juan"); /** * Comando que busca el elemento 'name1' en el html actual. Ver ids en country.tpl.html * Posteriormente limpia su contenido (comando clear). */ driver.findElement(By.id("usuario")).clear(); /** * Comando que simula la escritura de un valor en el elemento(sendKeys) * con el String de parmetro sobre // el elemento encontrado. */ driver.findElement(By.id("usuario")).sendKeys("usuario"); /** * Comando que busca el elemento 'name1' en el html actual. Ver ids en country.tpl.html * Posteriormente limpia su contenido (comando clear). */ driver.findElement(By.id("correo")).clear(); /** * Comando que simula la escritura de un valor en el elemento(sendKeys) * con el String de parmetro sobre // el elemento encontrado. */ driver.findElement(By.id("correo")).sendKeys("usuario@gmail.com"); /** * Comando que busca el elemento 'name1' en el html actual. Ver ids en country.tpl.html * Posteriormente limpia su contenido (comando clear). */ driver.findElement(By.id("pass")).clear(); /** * Comando que simula la escritura de un valor en el elemento(sendKeys) * con el String de parmetro sobre // el elemento encontrado. */ driver.findElement(By.id("pass")).sendKeys("contrasena"); /** * Comando que busca el elemento 'name1' en el html actual. Ver ids en country.tpl.html * Posteriormente limpia su contenido (comando clear). */ driver.findElement(By.id("pass2")).clear(); /** * Comando que simula la escritura de un valor en el elemento(sendKeys) * con el String de parmetro sobre // el elemento encontrado. */ driver.findElement(By.id("pass2")).sendKeys("contrasena"); /** * Comando que busca el boton Save y luego hace click * Comando que duerme el Thread del test por 2 segundos */ driver.findElement(By.id("btnRegistro")).click(); Thread.sleep(2000); /** Comando que obtiene todos los elementos de la tabla * Se realiza la verificacin si el elemento creado est en la lista */ if (driver.getCurrentUrl().contains("account.html")) { success = true; } /** * la prueba es exitosa si se encontr * el nuevo elemento creado en la lista. */ assertTrue(success); Thread.sleep(2000); } }