我需要以某种方式捕获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);
});
});
});谢谢。
发布于 2016-11-27 01:24:54
一旦显示toast元素,就检查它,然后尝试使用css获取消息。
在我们的一个项目中,我们使用了angular-toastr,这样做是可行的:
element(by.css('#toast-container .toast-message')发布于 2016-11-28 17:39:25
您可以使用此函数并在测试中调用它:首先,我在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();
})
})
};https://stackoverflow.com/questions/40820185
复制相似问题