Testing y QA

Mecanismos de espera en Selenium Webdriver

Los mecanismos de espera son una de las características más importantes de Selenium Webdriver en la automatización del flujo de navegación web. En este post te contamos qué son, cómo funcionan y por qué son tan importantes.

Publicado el 25 de Febrero de 2020
Compartir

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.


Compartir este post

También te puede interesar...

Tecnología

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

Este curso de Selenium para principiantes te permitirá aprender los fundamentos de Selenium Webdriver y poder automatizar pruebas con la herramienta.

  • Testing
Artículos
Ver todos