En multitud de páginas sobre las que hagamos automation testing, tendrán el famoso y 'amigable' popup de aceptar cookies.
Aplicando POM a nuestro código, no nos será difícil localizar el botón de 'Aceptar cookies' y seguir con los test automatizados que teníamos previstos... Pero, muchas veces tendremos el siguiente error al correr nuestros tests:
Esto es debido a que gracias a nuestro 'querido' popup, la página pierde el contexto actual y se interpreta como que se ha cerrado, y por lo tanto, no se puede continuar con la ejecución de los tests.
Esto lo solucionamos en dos pasos:
1.- En el POM que tengamos creado. Ponemos el atributo 'page' como PUBLICO:
2.- En la página donde tengamos los tests, pasar SIEMPRE el parámetro '{page}'
El código de la función de aceptar cookies en el POM sería por ejemplo el siguiente:
async accepXCookies(){
await expect(this.XCookiesButton).toBeVisible();
return this.XCookiesButton.click();
}
Por último, recordad que según la calidad de la conexión que tengamos...el 'bendito' popup tardará más o menos tiempo en aparecer... Podemos jugar con {timeout: x} pero en mi opinión, no es lo mas recomendable.
Espero que os haya servido de ayuda amigos!!
Saludos!!!!