量角器:element.getText()返回一个对象而不是String

Roo*_*sal 53 javascript testing protractor

我有一个元素定义为

this.clientRowName = element(by.id('CLIENT_NAME')); //page object file
Run Code Online (Sandbox Code Playgroud)

我想读取这个元素中的文本,它是"ABC"但是在做:var client = page.clientRowName.getText();

返回一个对象而不是一个字符串.有没有其他方法可以获取元素的文本

ale*_*cxe 106

getText()返回一个promise,你需要解决它:

page.clientRowName.getText().then(function (text) {
    console.log(text);
});
Run Code Online (Sandbox Code Playgroud)

或者,如果您只想断言文本,请expect()解决您的承诺:

expect(page.clientRowName.getText()).toEqual("ABC");
Run Code Online (Sandbox Code Playgroud)

Promise和Control Flow文档页面应该清理.

  • 如果你正在使用Chai期望,它有一个`.eventually`方法来解决一个promise并从里面获取值.`希望(page.clientRowName.getText()).to.eventually.equal( "ABC")` (2认同)