Necesito crear una condición de que si en una página hay un botón con el valor de texto "Desbloquear", Cypress hará clic en él con anticipación. Puedo manejar la parte de hacer clic y la condición "si", necesito saber cómo obtener javascript para detectar qué botón tiene ese valor de texto "Desbloquear", ¡gracias!
cy.get(".scroller").eq(1).find("button").then(($scroller) => { let test = $scroller //how to get the text value of the button? console.log(test) }) cy.wait(20000) cy.contains("Unblock").click() cy.wait(3000) cy.contains("Close").click() cy.contains("Back to main page").click()1. Puede usar invocar('texto') para obtener el nombre del botón:
cy.get('.scroller') .eq(1) .find('button') .invoke('text') .then((text) => { cy.log(text) //Logs button text })text() para obtener el nombre del botón: cy.get('.scroller') .eq(1) .find('button') .then(($scroller) => { cy.log($scroller.text()) //Logs button text })Entonces, en su caso, puede aplicar el if-else de esta manera:
cy.get('.scroller') .eq(1) .find('button') .then(($scroller) => { if ($scroller.text().trim() == 'Unblock') { //Do Something } else { //Do Something } })Puede usar cy.contains() , ya que solo devuelve el botón con el texto requerido.
cy.contains("button", "Unblock") .then(($scrollerButton) => { console.log($scrollerButton.text()) })