在量角器中,是否可以运行Angular模块功能?
问题描述:
我很新的Javascript和量角器。仍然试图让我的头简单的语法,所以原谅我,如果我在这里基地的方式。在量角器中,是否可以运行Angular模块功能?
所以我们的角度应用程序,有一个工厂生成吐司消息模块。我想在我的E2E测试期间禁用所有Toast消息。我们在工厂有一个功能来禁用吐司。这里有一些简化的代码。
//the module
var module = angular.module('toast',[]);
//the factory
module.factory('tf',[function tf(){
//factory code
//the function within the module's factory
moduleFactory.enable = function(enable){
isEnabled = enable;
};
}]);
我的问题是,我可以访问量角器中的该功能将其变为false?
我一直在寻找,似乎嘲笑是如何做到这一点。类似于您禁用角动画的方法。
// Disable animations so e2e tests run more quickly
var disableNgAnimate = function() {
angular.module('disableNgAnimate', []).run(['$animate', function($animate) {
$animate.enabled(false);
}]);
};
browser.addMockModule('disableNgAnimate', disableNgAnimate);
不过,我与模块内访问该工厂的函数的语法挣扎...任何帮助,将不胜感激。
答
我相信我找到了解决方案给其他任何可能有类似问题的解决方案。
使用量角器的executeScript函数。
browser.executeScript(function()
{
return angular.element(document).injector().get('toastFactory').enableToasts(false);
});