【发布时间】:2018-11-23 20:42:46
【问题描述】:
我们正在以异步/等待方式编写 e2e 测试,以便能够调试它们。但是测试有
await browser.wait(ExpectedConditions.presenceOf(appPage.getLogo()));
就挂在这条线上。我不知道为什么,我不明白。启用控制流时它运行良好,但一旦我们禁用它,它就会开始挂起。测试用例是这样的
it('should login', async () => {
await page.navigateTo();
await page.login();
await browser.wait(ExpectedConditions.presenceOf(appPage.getLogo()));
await browser.waitForAngularEnabled(false);
expect(await browser.getCurrentUrl()).toContain('/login');
});
想法是在我们登录后等待导航完成。在我可以看到 e2e 执行的浏览器中,可以清楚地看到它到达了正确的页面并且徽标在那里,但它卡在那里直到超时发生。有谁知道为什么?
【问题讨论】:
-
这个这个: var checkExist = setInterval(function() { browser.getCurrentUrl().then(function(currentURL){ if (currentURL == baseUrl+'/login') { clearInterval(checkExist); } }) }, 1000); // 每 1000 毫秒检查一次 w3schools.com/js/js_timing.asp
标签: angular protractor angular-e2e