量角器+混合角度1 + 2应用=失败

时间:2016-02-16 14:24:50

标签: javascript angularjs protractor angular end-to-end

量角器在Angular 1上运行良好,但在将我的应用程序升级为混合Angular 1 + 2后,我收到此错误:

  

失败:等待量角器与页面同步时出错:   “[ng:test]没有为getTestability找到元素参数的注入器   http://errors.angularjs.org/1.4.9/ng/test

当您的Angular 1应用中没有ng-app标记<div ng-app=myAppManager">并且可以在量角器配置文件中轻松修复rootElement : 'html'时,这似乎是一个常见错误在混合应用程序上似乎没有任何改变。

我尝试了rootElement : 'html'甚至useAllAngular2AppRoots: true

我怀疑问题来自异步加载混合角度(来自upgrade doc):

  

angular.bootstrap和。之间的一个显着区别   upgradeAdapter.bootstrap是后者异步工作的。这个   意味着我们不能假设应用程序已被实例化   在引导程序调用返回后立即执行。

我的配置文件:

exports.config = {
    framework: 'jasmine2',
    seleniumAddress: 'http://localhost:4444/wd/hub',
    specs: ['protractor.js'],
    jasmineNodeOpts: {
        showColors: true,
        defaultTimeoutInterval: 50000,
    },
    allScriptsTimeout: 50000,//seb
    capabilities: {
        'browserName': 'chrome',
        'chromeOptions': {
            'prefs': {
                'profile.managed_default_content_settings.notifications':2
            }
        }
    },
    rootElement : 'html',
    // useAllAngular2AppRoots: true,
    jasmineNodeOpts: {
        realtimeFailure: true
    },
    onPrepare: function() {
      var failFast = require('jasmine-fail-fast');
      jasmine.getEnv().addReporter(failFast.init());
    }
}

1 个答案:

答案 0 :(得分:0)

量角器团队已经解决了这个问题:

https://github.com/angular/angular/pull/7603

编辑:我还没有测试过

编辑2:似乎不起作用,我回到angularJs(版本1)