some image

Codes and Tags

Utilizando el metodo wait() para Selenium WebDriver

Etiquetas: , Blog, Testing No comments

 

Hoy tuve la gran duda de ¿Cómo hacer para esperar X tiempo de segundos el cargue de una pagina o simplemente esperar X segundos para continuar  con la ejecución mi prueba en Selenium WebDriver?. Bien, al principio intente utilizar Threads pero tenia el gran inconveniente de que  el Thread se ejecutaba pero la prueba corria alternamente… :-(

Comence a buscar en la documentación de Selenium WebDriver y llegue a una solución :

1)  Codigo de Ejemplo para esperar X segundos en Selenium WebDriver :

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class PruebaTiempoSelenium {
	
	//Driver que hace magia
	WebDriver driver;
	
	/**
	 * @param Constructor y prueba de ejemplo 
	 */
	public PruebaTiempoSelenium() {
		//Instancia a un Driver de Firefox
		driver = new FirefoxDriver();
		//Se navega a la pagina principal de codes and tags
		driver.navigate().to("http://codesandtags.org");
		//Se esperan 10 segundos
		esperarSegundos(driver, 10);
		//Se pulsa clic sobre el enlace de Testing
		driver.findElement(By.linkText("Testing")).click();
		//Se evalua el Titulo
		if(driver.getTitle().equals("Testing | Codes and Tags")){
			System.out.println("Excelente parce prueba superada!!!");
		}
		//Se cierra el driver
		driver.close();
	}
	
	/**
	 * Metodo que se encarga de esperar X cantidad de segundos durante
	 * la ejecucion de la prueba utilizando el driver
	 * @param driver
	 * @param segundos
	 */
	public void esperarSegundos(WebDriver driver, int segundos){
		
		synchronized(driver){
			try {
				driver.wait(segundos * 1000);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
	
	
	public static void main(String[] args) {
		//Ejecucion de la prueba
		PruebaTiempoSelenium prueba = new PruebaTiempoSelenium();		
	}

}

Nota : Esta prueba fue configurada de la manera más sencilla, para aumentar la complejidad se pueden utilizar Frameworks de pruebas como por ejemplo TestNG o Junit.

2) Para utilizar directamente el WebDriverWait manejando condiciones se puede consultar la documentación : http://seleniumhq.org/docs/04_webdriver_advanced.html

 

About Edwin Torres

Related Posts

  • ISTQB Logo
  • Selenium IDE, pruebas automatizadas
  • Selenium IDE, pruebas automatizadas
  • Selenium IDE, pruebas automatizadas

Add your comment