J'ai un élément défini comme
this.clientRowName = element(by.id('CLIENT_NAME')); //page object file
Je veux lire le texte dans cet élément qui est "ABC" mais faisant: var client = page.clientRowName.getText ();
renvoie un objet au lieu d'une chaîne. Existe-t-il un autre moyen d'obtenir le texte de l'élément?
getText()
renvoie une promesse, vous devez résoudre la:
page.clientRowName.getText().then(function (text) {
console.log(text);
});
Ou, si vous souhaitez simplement affirmer le texte, laissez expect()
résoudre la promesse pour vous:
expect(page.clientRowName.getText()).toEqual("ABC");
La page de documentation _ { Les promesses et le flux de contrôle } devrait clarifier les choses.
Une autre solution peut être d'utiliser async/await
.
class Page {
constructor() {
this.clientRowName = $('#CLIENT_NAME');
}
}
/****************/
it('should console.log client name', async () => {
const client = await Page.clientRowName.getText();
console.log(client);
});
J'ai l'habitude d'utiliser element.getAttribute('value')