Javascript TypeError:元素(…)。then不是量角器3.2.1中的函数

Javascript TypeError:元素(…)。then不是量角器3.2.1中的函数,javascript,selenium-webdriver,protractor,webdriverjs,Javascript,Selenium Webdriver,Protractor,Webdriverjs,我使用了下面的代码 element(by.xpath("//tf-navpane-item[contains(@class,'tf-state-selected')]//tf-navpane-item-text//*[contains(@class,'ng-binding')]")).then(function(ele){ ele.getText().then(function(txt){ console.log("txt: "+txt);

我使用了下面的代码

element(by.xpath("//tf-navpane-item[contains(@class,'tf-state-selected')]//tf-navpane-item-text//*[contains(@class,'ng-binding')]")).then(function(ele){
            ele.getText().then(function(txt){
                console.log("txt: "+txt);
            });
        }); 
当我使用量角器1.0时,这段代码可以正常工作。将量角器升级到3.2.1后,我开始出现以下错误

TypeError:元素(…)。then不是函数


我可能遗漏了什么,但不确定是什么

是的,这是您应该期待的,因为
元素()
不能再使用
then()
直接解析了(在量角器2.0中)。相反,要:

var elm = element(by.xpath("//tf-navpane-item[contains(@class,'tf-state-selected')]//tf-navpane-item-text//*[contains(@class,'ng-binding')]"));
elm.getText().then(function(txt) {
    console.log("txt: " + txt);
});
请注意,如果需要断言文本,可以将
getText()
传递到
expect()
-它了解承诺是什么,并在做出预期之前解决它:

expect(elm.getText()).toEqual("Expected text");

非常感谢。我应该更仔细地查看更改日志。:)节省了我很多时间!!