Javascript 如果我们在5秒后有时间间隔隐藏,则无法获取咆哮消息

Javascript 如果我们在5秒后有时间间隔隐藏,则无法获取咆哮消息,javascript,angularjs,testing,protractor,end-to-end,Javascript,Angularjs,Testing,Protractor,End To End,我正在用量角器E2E编写测试用例。 我希望在运行案例时,当我按save时,会显示一条咆哮消息,其中包含成功或错误 this.growlMessage = function () { return element(by.css("div[ng-bind='message.text']")).getText(); } 现在,如果出现错误,我可以获取消息,因为只要消息关闭,它就会一直留在那里。 但成功消息在一段时间后自动消失。 在量角器中,案例一直等待咆哮声消失,然后执行下一次执行。我认为量

我正在用量角器E2E编写测试用例。 我希望在运行案例时,当我按save时,会显示一条咆哮消息,其中包含成功或错误

this.growlMessage = function () {
    return element(by.css("div[ng-bind='message.text']")).getText();
}
现在,如果出现错误,我可以获取消息,因为只要消息关闭,它就会一直留在那里。 但成功消息在一段时间后自动消失。 在量角器中,案例一直等待咆哮声消失,然后执行下一次执行。我认为量角器正在等待咆哮完成它的工作

我们如何才能等待这个消息并获取文本?

使用浏览器。wait()等待咆哮的到来。这是你可以做到的-
browser.wait(函数(){
return元素(by.css(“div[ng bind='message.text']”)。isPresent();//等待咆哮声出现
},10000)。然后(函数(){//等待10秒,等待咆哮声出现
expect(元素(by.css(“div[ng bind='message.text'])).getText()).toBe(“Expected growl text”);
})

这里棘手的部分是,这段特定的代码应该在咆哮开始之前开始运行,并且预计在接下来的10秒钟内(对于这个特定场景)会出现