Te va a interesar!

6/recent/ticker-posts

Selenium SelfHealing parte 2: Dónde guardo los atributos del WebElement?


Cómo están? Bien? Disfrutando el fin de semana largo por las Pascuas? Yo me encuentro espectacularmente bien y, aprovechando que hoy llueve bastante en la isla norte de Nueva Zelanda, me puse a proseguir con el proyecto de Selenium SelfHealing para que los cambios en los locators no impacten nuestros tests.

En el anterior post, la primera parte, les comentaba el concepto de lo que quiero hacer. Como siempre pasa cuando se planifica inicialmente, hay detalles en el camino entre A y B que necesitan ser tratados para hacer lo que queremos con éxito. En este caso, previo al tema de la State Machine, se presentó el problema de "cómo voy a hacer para curar los locators?".

Cómo curar los locators con Selenium?

Bien, este es el primer desafío. También podemos (y debemos) dividir este problema en varios más pequeños. La primer parte que se me ocurrió es traerme todos los atributos del WebElement, el cuál es ubicado inicialmente por el XPath relativo. Esto con la idea de dar un contexto al WebElement y, en caso de fallar el locutor original, tener con qué formar uno nuevo al saber los otros atributos. El segundo problema, entonces, es dónde guardar esos atributos para que persistan en nuestro proyecto. 
Debo decir que no soy muy fan de lo que se me ocurrió, pero quiero ver si funciona. La idea es escribir todos estos atributos en un CSV localizado dentro del proyecto. 

Y qué sigue?

Una vez tenga la lógica para escribir los atributos en el lugar correspondiente del CSV, tendré que proceder con ver cómo realizar la lógica para, en caso de no encontrar el WebElement, verificar si usando el contexto de los demás atributos es posible hacerlo. También va a ser necesario manejar correctamente los errores ante la falla de NoSuchElement. Si el elemento desapareció porque la página no cargó o porque simplemente no está más ahí, no voy a forzar la acción contra el elemento que más se le parezca porque sería un sinsentido!

Este es mi update, para que sepan que no abandoné el proyecto y que sigo creyendo que es posible hacerlo! Solo que hubo unos hermosos días de sol en los que tocar la laptop era un pecado.

The Free Range Tester 

Publicar un comentario

0 Comentarios