1

我将量角器与 Browserstack.exe 一起用于 e2e (UI) 测试。

我必须检查授权过程。它是这样的:

  1. 转到域/#login
  2. 重定向到 auth0.com 以获得授权(托管 auth0 授权)
  3. 输入凭据
  4. 完成身份验证后重定向到我的角度客户端。

我读到要测试单独的登录页面,我们必须使用 browser.ignoreSynchronization = true;

有时它有效,有些则无效。我不明白为什么以及什么取决于此。

运行量角器时出现此错误:预期“ http://localhost:8001/app/#/login ”包含“domen.auth0.com”。

这个屏幕: 浏览器堆栈截图

我的代码:

describe('[domain.reports]', function () {

    beforeAll(function() {
        // it makes protractor not wait for Angular promises
        // for testing separate login page.
        browser.ignoreSynchronization = true;
    });

    beforeEach(function () {
        browser.wait(browser.get('#/login'), 5000);
        expect(browser.getCurrentUrl()).toContain('domain.auth0.com');
    });

    it('should automatically redirect to /samples when location hash/fragment is empty', function () {

        var EC = protractor.ExpectedConditions;
        var el = element(by.css('.auth0-lock-submit'));
        browser.wait(EC.visibilityOf(el), 10000);
        protractor.loginHelpers.loginToPage('test_customer@gmail.com', 'Qazxsw123456');
        protractor.waitHelpers.waitForUrlToBeChanged("/samples");

        //browser.wait(browser.get('#/samples'), 5000);
        expect(browser.getCurrentUrl()).toMatch("/samples");
        browser.get('#/api');
        expect(browser.getCurrentUrl()).not.toContain("/api");
    });
});

它适用于另一个场景......

感谢您提供任何想法的建议!

4

0 回答 0