javascript – 如何让量角器可靠的结果?

前端之家收集整理的这篇文章主要介绍了javascript – 如何让量角器可靠的结果?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用量角器(v 1.3.1)为我的Angular 1.2.26应用程序运行E2E测试.

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

>添加browser.driver.sleep说明,
>使用browser.executeScript禁用效果(‘$.fx.off = true’)
>添加browser.waitForAngular()指令

没有成功.

使用量角器可靠的E2E测试最佳实践是什么?

JM.

解决方法

每次我有类似的问题,我使用 browser.wait()“Expected Conditions”( introduced in protractor 1.7).有一套内置的预期条件通常足够,但您可以轻松地定义您的自定义预期条件.

例如,等待一个元素变得可见:

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

browser.wait(EC.visibilityOf(e),10000);
expect(e.isDisplayed()).toBeTruthy();

几个注释:

>您可以指定自定义错误消息,以防不能满足条件并抛出超时错误,请参见Custom message on wait timeout error

browser.wait(EC.visibilityOf(e),10000,"Element 'xyz' has not become visible");

>您可以将EC设置为指向量角器的全局可用变量.ExpectedConditions.将此行添加到您的配置中的onPrepare():

onPrepare: function () {
    global.EC = protractor.ExpectedConditions;
}

>作为自定义预期条件的示例,请参阅this answer

猜你在找的JavaScript相关文章