如何获得量角器可靠的结果?

jmc*_*n92 14 javascript testing angularjs selenium-webdriver protractor

我正在使用Protractor(v 1.3.1)为我的Angular 1.2.26应用程序运行E2E测试.

但有时,测试是可以的,有时候不是.似乎有时检查是在显示更新之前完成的(或类似"同步"问题).我尝试了很多选择:

  • 添加browser.driver.sleep说明,
  • 禁用效果 browser.executeScript('$.fx.off = true')
  • 添加browser.waitForAngular()说明

没有成功.

使用量角器重新进行E2E测试的最佳做法是什么?

JM.

ale*_*cxe 13

每当我有类似的问题,我使用的是browser.wait()"预期的条件"(在量角器1.7引入的).有一组通常足够的内置预期条件,但您可以轻松定义自定义预期条件.

例如,等待元素变为可见:

var EC = protractor.ExpectedConditions;
var e = element(by.id('xyz'));

browser.wait(EC.visibilityOf(e), 10000);
expect(e.isDisplayed()).toBeTruthy();
Run Code Online (Sandbox Code Playgroud)

几点说明: