javascript - 如何用 Protractor 捕获 ngToast?

标签 javascript angularjs protractor ngtoast

我需要以某种方式在执行某些操作后捕获 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);
          });
  });
});

谢谢。

最佳答案

检查显示的 toast 元素,然后尝试使用 css 获取消息。

在我们使用 angular-toastr 的其中一个项目中,这样做可以达到目的:

element(by.css('#toast-container .toast-message')

关于javascript - 如何用 Protractor 捕获 ngToast?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40820185/

相关文章:

javascript - Node.js 模块加载

javascript - 在 NodeJs 服务器上安装 Socket.IO

java - 如何自定义验证失败返回的字段名称?

javascript - Protractor - 打开弹出窗口时,它不会等待此窗口内的所有元素

protractor - 如何将 Q.all 与 chai-as-promised 一起使用?

javascript - Jquery在div-->a-->img中获取img标签的src路径

javascript - Meteor.js : iron-router Router. 路线()不工作

javascript - 当我们点击页面上的任意位置时,Angularjs 会获取事件吗?

ios - ionic 范围无法点击ios

angularjs - 无法启动 ChromeDriver-Protractor