it('TC01 - ', () => { const dataToTest = productCatalogData.case1 createGLCode(dataToTest) toastMessageIsEqualsTo('GL Code Created!') }); it('TC02 - ', () => { const dataToTest = productCatalogData.case2 editGLCode(dataToTest) //toastMessageIsEqualsTo('GL Code Updated!') }); it('TC03 - ', () => { const dataToTest = productCatalogData.case3 deleteGLCode(dataToTest) toastMessageIsEqualsTo('GL Code Deleted!')Tengo la función de cierre de sesión en afterEach hook.
Pero en el momento del tercer caso de prueba, me muestra un error de "cy.click() falló porque requiere un elemento DOM". y "El asunto recibido fue: undefined ".
Sin embargo, cuando vuelvo a ejecutar el mismo caso de prueba, funciona perfectamente bien.
| export const clickLogout = () => { > 5 | cy.get('[id=logoutBtn]').click({ force: true }); | ^ 6 | };Dando error aquí.
Parece que cy.get('[id=logoutBtn]') falta en el DOM debido al cierre de sesión en afterEach() .
Supongo que en algún lugar de esos métodos personalizados está iniciando sesión. (Por cierto, debe hacerlo explícitamente en la prueba para que sea más fácil de entender sus pruebas).
Si es así, agregue una verificación de visibilidad al botón de cierre de sesión
cy.get('[id=logoutBtn]') .should('be.visible') .click({ force: true })Si no es así, deberá agregar todo el código personalizado a la pregunta, ya que el problema se encuentra en algún lugar allí.