Creé una calculadora de impuestos marginales simple y estoy tratando de probar su funcionalidad con Cypress. El resultado final de la calculadora es que muestra la cantidad del resultado en un div con la clase de "resultado" para el usuario.
la calculadora completa se puede ver aquí: https://codepen.io/ldanneman/pen/wvdZpyV
Mi prueba de Cypress devuelve un error de aserción: "Se agotó el tiempo de reintento después de 4000 ms: se esperaba que '<div.result>' tuviera el valor '18020.86', pero el valor era '' ".
Cypress parece estar agarrando el div antes de que el valor calculado se inserte en el div. ¿Cómo puedo probar el nuevo valor después de que se represente?
HTML
<div class="body"> <div class="calculator"> <div> <input class="input"/> <button class="submit">Calculate</button> </div> <div class="result"></div> </div> </div>Valor insertado en DOM desde JavaScript
document.querySelector(".result").innerText = taxesPrueba de ciprés
describe('Marginal Calculator', () => { it('User Calculates Taxes', () => { cy.visit('http://127.0.0.1:5500/index.html') cy.get('.input').type(100000) cy.get('.submit').click() cy.get('.result').should('have.value', 18020.86) }) })En lugar de have.value , debe usar have.text si está afirmando texto interno.
cy.get('.result').should('have.text', '18020.86') Además, si desea otorgar algunos tiempos de espera adicionales, puede agregar {timeout: 6000} .
cy.get('.result', { timeout: 6000 }).should('have.text', '18020.86')