【发布时间】:2018-10-01 00:05:05
【问题描述】:
我的 Angular 应用程序中有一个 e2e 量角器测试。我刚刚连续多次运行完全相同的测试,它通过了大约 5% 的时间,失败并出现下面屏幕截图中的错误。
测试:
it('should open the cart with the cart button in the header', () => {
page.navigateTo('/calendar/day/(dmy:27-9-2018)');
page.cartButton().click();
expect(element(by.css('h2.cart-header')).isPresent()).toBe(true);
});
protractor pauses 启动的 chrome 实例显示按钮被点击并且 h2 元素存在(见底部图片)。
我尝试过的
- 我已将此组件中的数据替换为模拟数据以消除异步操作
- 我禁用了动画
- 我试图使它成为一个异步函数:
... header', async () => { ... - 我已经尝试等待(ing)元素:
expect(await element(by.css('h2.cart... - 我试过
browser.sleep(1000) - 我尝试了各种断言,例如
.toBe(true)、.toEqual(true)和.toBeTruthy()
是什么导致了这个错误,我该如何解决?
【问题讨论】:
-
我也有同样的问题,你解决了吗?
-
我在 GitHub 上打开了一个关于这个问题的 issue github.com/angular/protractor/issues/5151
-
我没有,我最终切换到 cyress.io 而不是量角器。
-
Wooah Cypress 太棒了!非常感谢分享!你满意吗?
标签: angular typescript protractor e2e-testing