Al seleccionar elementos por id usando cy.get() y luego escribirlos usando .type( .type() , se escribe el elemento incorrecto. Esto sucede de forma intermitente en una serie de pruebas que he escrito. El get parece seleccionar el elemento correcto, pero luego el type ingresa en uno diferente.
Ejemplo:
elemento correctamente seleccionado
valor ingresado en elemento incorrecto
He probado varias cosas aquí. cy.get('#elementid').clear().type('new text') era como solía hacer esto, pero cambié a cy.get('#elementid').type('{selectall}new text') . El nuevo método hace que este problema ocurra con mucha menos frecuencia, pero aún así ocurre.
El comando completo utilizado en las capturas de pantalla de ejemplo utiliza un bucle para crear los ID de los elementos, pero este problema también aparece cuando se seleccionan elementos sin un bucle.
Cypress.Commands.add('new_supplier_preisanfrage', (customerFullName, discount, priceList) => { cy.open_supplier_preisanfrage_dialog(customerFullName) cy.get('#1917240871_' + (priceList.length - 1) + '_price').should('exist').then(() => { for (var i = 0; i < priceList.length; i++) { var price = priceList[i] cy.get('#1917240871_' + i + '_price').type('{selectall}' + price) cy.get('#1917240871_' + i + '_discount').type('{selectall}' + discount) } }).then(() => { cy.get('#price-inquiry-edit-save-btn').click() }) }) Puede ver aquí que también intenté usar .then() para esperar hasta que todos los campos se hayan cargado en el DOM.
Entonces, ¿cómo puedo depurar esto más? ¿Es este un problema conocido? ¿Qué estoy haciendo mal aquí?