任何人都可以建议我如何在执行量角器测试时禁用角度js应用程序中的动画.我在我的量角器配置文件中添加了以下代码,但这对我没有帮助:
var disableNgAnimate = function() {
angular.module('disableNgAnimate', []).run(function($animate) {
$animate.enabled(false);
});
};
browser.addMockModule('disableNgAnimate', disableNgAnimate);
Run Code Online (Sandbox Code Playgroud) 我正在使用Protractor(v 1.3.1)为我的Angular 1.2.26应用程序运行E2E测试.
但有时,测试是可以的,有时候不是.似乎有时检查是在显示更新之前完成的(或类似"同步"问题).我尝试了很多选择:
browser.driver.sleep说明,browser.executeScript('$.fx.off = true')browser.waitForAngular()说明没有成功.
使用量角器重新进行E2E测试的最佳做法是什么?
JM.
我一直在Protractor开发自动化测试很长一段时间,就像很多人一样,我遇到了只能与browser.sleep()-bridge 交叉的空白.我不喜欢硬编码这样的东西,但如果它是必要的,我会的.
我开发的测试让我发现每个browser.sleep(1000)都对我的运行时产生重大影响.这些测试目前正在测试不同帐户的权限(确切地说是128个),这涉及登录和退出,同时检查每个帐户的访问权限和访问权限.
我正在测试的网站是一个纯粹的AngularJS应用程序,在我看来,它应该是browser.sleep()一个弃用的方法,因为有一种browser.waitForAngular()方法可以准确地等待页面完全加载,相比之下browser.sleep()等待一段时间,如果你的网站是在那个时间内(它发生)加载,你将有一个不一致的测试(没有人喜欢不一致).
研究让我相信browser.waitForAngular()没有考虑动画和相关的耗时功能,因为它们不是AngularJS相关的,但我们的网站没有实现.也waitForAngular()基本上等待$digest,$http和$timeout.
我要问的是,这是一个被认为是可接受的损失的东西,因为量角器总体上很棒或者有什么我在这里俯瞰?
TL; DR:那里有解决办法让我们不满足于此browser.sleep()吗?
来源:量角器超时文档, Timeout-spec.js(量角器文档), Issue909,Issue279,Issue92,StackQuestion1