我需要以某种方式在某些操作后捕获ngToast消息。我尝试过这个网站的不同解决方案,但他们没有帮助我,我也不知道为什么。有没有人有工作的解决方案?我的最后一次尝试就像:
var HomePage = require('./home.pageObject');
describe('Home Page tests', function () {
var homePage = new HomePage();
var EC = protractor.ExpectedConditions;
beforeEach(function () {
browser.get('/#/');
});
it('should fail login', function () {
var toast = $('.ng-toast');
homePage.signinBtn.click();
homePage.login('admin', 'Password')
.then(function () {
var toast = $('.alert');
browser.wait(EC.visibilityOf(toast), 3000);
});
});
});
感谢。
答案 0 :(得分:1)
检查toast元素,然后尝试使用css抓取消息。
在我们使用angular-toastr的一个项目中,这就是诀窍:
element(by.css('#toast-container .toast-message')
答案 1 :(得分:1)
您可以使用此功能并在测试中调用它: 首先,我等待dom中的存在,然后是可见性,然后我返回文本:
this.returnToastText= function(){
browser.wait(EC.presenceOf(element(by.css(".alert"))), 3000).then(function () {
browser.wait(EC.visibilityOf(element(by.css(".alert"))), 3000).then(function () {
return toastText= element(by.css(".alert")).getText();
})
})
};