Tengo un elemento definido como
this.clientRowName = element(by.id('CLIENT_NAME')); //page object fileQuiero leer el texto en este elemento que es "ABC" pero haciendo: var client = page.clientRowName.getText();
devuelve un objeto en lugar de una cadena. ¿Hay alguna otra forma de obtener el texto del elemento?
getText() devuelve una promesa , debe resolverla :
page.clientRowName.getText().then(function (text) { console.log(text); }); O, si solo desea reafirmar el texto, deje que expect() resuelva la promesa por usted:
expect(page.clientRowName.getText()).toEqual("ABC");Las promesas y la página de documentación de Flujo de control deberían aclarar las cosas.
Otra solución puede ser usar 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); });Usualmente usé element.getAttribute('value')