web-dev-qa-db-fra.com

Comment obtenir la valeur du champ de saisie de texte dans un const et enregistrer cette valeur dans Cypress.io

Comment obtenir la valeur du champ de saisie de texte dans une variable "const" dans Cypress, afin que je puisse enregistrer cette variable à l'aide de cy.log (). Le code ci-dessous n'enregistre rien, une personne familière avec Cypress.io peut-elle

cy.get('input[name="email"]').then(($text)=>{
        const txt = $text.text()
        cy.log(txt)

    })
8
soccerway

L'utilisation de invoke('val') au lieu de invoke('text') a fonctionné pour mon cas.

Rappel de la balise html

<input type="text" class="form-control" name="email">

Code de cyprès

cy.get('input[name="email"]')
  .invoke('val')
  .then(sometext => cy.log(sometext));
10
soccerway

De https://github.com/cypress-io/cypress/issues/6

Vous devriez pouvoir faire:

cy
  .get('input[name="email"]')
  .invoke('text')  // for input or textarea, .invoke('val')
  .then(text => {
    const someText = text;
    cy.log(someText);
  });

Cela fonctionne pour moi dans un test sur l'élément suivant:

<span class="abProgress" style="width: 0%;">100%</span>
5
Brendan