Mecanismos de espera en Selenium Webdriver

En la fase de desarrollo de software es necesario implementar una fase de pruebas, y normalmente, dependiendo de la envergadura del proyecto, esas pruebas suelen ser manuales.

Cuando el proyecto es pequeño o está empezando, no nos paramos a pensar en la necesidad de la automatización de pruebas, ya que realmente eso suele ocurrir cuando ha alcanzado un tamaño considerable o ya es previsible que van a ser necesarias.

Siempre es preferible automatizar aquellas pruebas repetitivas y simples, y dejar que los testeadores se encarguen de realizar aquellas pruebas que son más complejas o largas, pero que sean más difíciles de programar. Puede ser más barato que una persona se encargue de realizar la prueba manual que el desarrollar la prueba automática.

Para este fin se desarrolló Selenium, un framework de automatización del flujo de navegación web, que nos ofrece un amplio abanico de herramientas para interactuar con los distintos elementos de una página web.

La forma de cargar los elementos de una página web es asíncrona, lo que quiere decir que por cada vez que se cargue la página puede no durar lo mismo ni cargarse en el mismo orden.

No tenemos conocimiento en el orden en el que se van a cargar en memoria los distintos elementos ni el tiempo que van a tardar, puesto que normalmente los recursos de una página no suelen estar todos directamente dentro del dominio y ser recursos externos, que pueden tardar más o menos en función de la cantidad del ancho de banda que tenga en ese momento o el tiempo latencia que pueda tener.

Cuando Selenium trata de buscar dichos elementos en la página puede devolvernos un error que indica que no ha encontrado es elemento para interactuar con el mismo.

Para solventar este problema podemos utilizar los mecanismos de espera de Selenium Webdriver, con los que podremos programar a Selenium para decirle cuánto debe esperar, cómo debe esperar, e incluso a qué eventos debería aguardar para interactuar con el elemento, y de este modo garantizar que, aunque la carga sea asíncrona y tarde más o menos tiempo, esa acción va a poder realizarse.

También te puede interesar...

Carrera Programador Java Web

Carrera Programador Java Web

35 horas y 33 minutos · Carrera

Domina el lenguaje que usan las mejores empresas como Google, Netflix o Amazon.

Metodologías y Herramientas

Cómo buscar elementos web con Selenium

24 Febrero 2020 Jesús del Castillo López
Curso de Selenium con Java para principiantes

Curso de Selenium con Java para principiantes

3 horas y 51 minutos · curso

  • Testing

Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Más Información.