我正在尝试测试输入有效电子邮件并单击提交按钮后出现咆哮消息。
我知道功能就在那里,因为我看到webdriver运行时会出现growl消息。问题是在测试中捕获咆哮消息。
我尝试将forgotPasswordPage.submitButton.click()
放在浏览器外部(之前)和内部。我们将growl配置为显示4秒的消息,这样我就可以获得等待时间。我正在寻找一种方法来使这个测试更可靠,理想情况下我可以测试实际上在growl消息中的文本,但首先是第一件事。
it('should display green growl message if user email does exist', function(){
// uses testUsers[0]
forgotPasswordPage.emailInput.sendKeys(testUsers[0].email);
browser.wait(function() {
forgotPasswordPage.submitButton.click();
return element(by.css('.alert-success')).isPresent()
}, 4000)
.then(function(growlMessageIsPresent){
expect(growlMessageIsPresent).toBeTruthy();
})
.then(null, function(err) {
console.log('error', err)
expect(err).not.toBeTruthy();
})
})
答案 0 :(得分:2)
我们遇到了类似的问题,尝试捕捉状态消息,该消息出现几秒钟然后消失,我们不得不接近暂时关闭Protractor-Angular同步:
browser.ignoreSynchronization = true;