有没有人在Protractor测试中有一个如何$ rootScope。$广播事件的工作示例?
我知道Protractor不用于此,我应该使用Karma进行单元测试。但情况是我需要在Protractor测试中广播一个事件。为此,我想要获得$ rootScope。但我不知道如何在量角器中做到这一点,经过长时间的搜索后,我在互联网上找不到答案。
我想以下是单元测试。量角器中没有注入。
var rootScope;
beforeEach(inject(function($injector) {
rootScope = $injector.get('$rootScope');
}));
$rootScope.$broadcast("EVENT_TO_TEST", other, possible, args);
希望解决方案存在。
答案 0 :(得分:6)
您可以通过以下方式在浏览器中运行脚本:
browser.executeScript("
angular.element('body').injector().get('$rootScope').$broadcast(...);
");
或者使用不同的语法来获取根范围:
browser.executeScript("
angular.element('body').scope().$root.$broadcast(...);
");
您可以将body
替换为包含范围的元素。