Estoy tratando de afirmar algo en el elemento 1, pero no quiero que Cypress muestre un error si la condición falla. en cambio, quiero que Cypress verifique algo más y solo si esta segunda afirmación falla, quiero que Cypress arroje un mensaje.
//first assertion cy.get(`[data-cy="xxx"] > [data-cy="yyy"] > .x > .y`).should('have.css', 'color', 'rgb(227, 11, 11)'); //second assertion cy.get(`element 2`).should('have.css', 'color', 'rgb(227, 11, 11)');Puede hacer una verificación condicional para esto, algo como esto:
cy.get('[data-cy="xxx"] > [data-cy="yyy"] > .x > .y') .invoke('css', 'color') .then((cssColor) => { if (cssColor == 'rgb(227, 11, 11)') { cy.log('Expected color is present') } else { //this will throw error if failed cy.get('element 2').should('have.css', 'color', 'rgb(227, 11, 11)') } })Puede afirmar que uno u otro elemento tiene el valor de color (ya que la condición es la misma en ambos casos) usando una coma entre los selectores
cy.get('[data-cy="xxx"] > [data-cy="yyy"] > .x > .y, element2') .should('have.css', 'color', 'rgb(227, 11, 11)')