微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/js/153029.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐