Javascript getText()的量角器承诺

Javascript getText()的量角器承诺,javascript,protractor,Javascript,Protractor,我已经好几个月没有使用量角器了,我发现自己不得不重新使用量角器。然而,我在一件非常简单的事情上失败了,我在过去工作过(甚至使用相同的代码也没有用) 我有一个包含以下html的页面: <label class="control-label field-required" style="">The text I want</label> 我在控制台上看到的是一个过程(由于字符串不匹配,它不应该通过),我没有看到“out2”的输出,但是对于“out3”我看到: 我看不出我做错

我已经好几个月没有使用量角器了,我发现自己不得不重新使用量角器。然而,我在一件非常简单的事情上失败了,我在过去工作过(甚至使用相同的代码也没有用)

我有一个包含以下html的页面:

<label class="control-label field-required" style="">The text I want</label>
我在控制台上看到的是一个过程(由于字符串不匹配,它不应该通过),我没有看到“
out2
”的输出,但是对于“
out3
”我看到:


我看不出我做错了什么-希望其他人能做到。

错误来自下一行,应该是:

return expect(actualText2).to.equal("hello");
// should use function argument `actualText2`, rather than outer variable `actualText`
// argument `actualText2` is not promise, so can't use `eventually` in assertion: `expect`
或者更直接的方式:

var chai = require('chai'),
    chaiAsPromised = require('chai-as-promised'),
    expect = chai.expect;

chai.use(chaiAsPromised);

var actualText = element(by.css('label.control-label.field-required')).getText();
expect(actualText).to.eventually.equal("hello");

这可能是在黑暗中拍摄,但在不使用
var actualText=
的情况下尝试相同的拍摄。看看你的代码是否按预期运行。谢谢你,我试过你的方式(我想),代码失败了(但这是一个不同的错误,所以我不喜欢误读它)如果我按你的方式运行,那么当文本不匹配时,我确实会失败,但是我没有得到显示预期和实际的好的错误消息-为预期返回的是“AssertionError:expected{Object(browser,then,…)}等于'Hello'”,我尝试在expected上使用toString,但它显示了一个对象-有什么想法可以澄清一下吗?您是否按照承诺使用了package
chai
?是的(至少框架配置为使用它)如何使用您最初的方式在
then()中进行断言
?请检查最终使用
的任何断言是否会报告
断言错误:如果您故意使它们失败,则预期{Object(browser_uu,then,…)}等于
return expect(actualText2).to.equal("hello");
// should use function argument `actualText2`, rather than outer variable `actualText`
// argument `actualText2` is not promise, so can't use `eventually` in assertion: `expect`
var chai = require('chai'),
    chaiAsPromised = require('chai-as-promised'),
    expect = chai.expect;

chai.use(chaiAsPromised);

var actualText = element(by.css('label.control-label.field-required')).getText();
expect(actualText).to.eventually.equal("hello");