量角器 "before each" 挂钩错误,在 OnPrepare() 中添加了用于登录的非量角器页面

Protractor "before each" hook error with added non protractor page for login in OnPrepare()

我通过 ms azure 在 OpPrepare() 中添加了登录授权:

//Login before run the tests
browser.driver.get(browser.baseUrl);

  element(by.css('#ms-login')).click();

  userID.sendKeys(browser.params.login.user);
  userPass.sendKeys(browser.params.login.password);
  signInButton.click();
  browser.sleep(1000);
  signInButton.click();

  // Login takes some time, so wait until it's done.
  // For the test app's login, we know it's done when it redirects to
  // index.html.
  browser.driver.wait(function () {
      return browser.driver.getCurrentUrl().then(function(url) {
          return /dashboard/.test(url);
      });
  });

然后在 'dashboard' 页面上授权后,我不时看到相同的错误(可能在 40% 的测试运行中)。

错误代码:

  dashboard landing page
    1) "before each" hook


  0 passing (50s)
  1 failing

  1) dashboard landing page "before each" hook:
     Error: timeout of 50000ms exceeded

例如规格页面:

describe('dashboard landing page', function () {
    var dashboardPage = require('./dashboard.page.js');

    beforeEach(function () {
        browser.get('#/dashboard');
    });

    it('should have some', function () {
        expect(dashboardPage.some.count()).to.eventually.equal(5);
    });
});

我做错了什么。请帮忙?

因此,通过添加以下内容解决了问题:

browser.waitForAngular();

在所有登录逻辑之后onPrepare: function ()

现在对我有用了。