Транспортир + Гибридный угловой 1+2 Применение = Ошибка
Транспортир хорошо работает на Angular 1, но после обновления моего приложения до гибридного Angular 1+2 я получаю эту ошибку:
Ошибка: ошибка при ожидании синхронизации Protractor со страницей: "[ng:test] не найден инжектор для аргумента элемента getTestability http://errors.angularjs.org/1.4.9/ng/test "
Кажется распространенной ошибкой, когда у вас нет тега ng-app <div ng-app=myAppManager">
в вашем приложении Angular 1 и может быть легко исправлено rootElement : 'html'
в вашем конфигурационном файле транспортира, но он ничего не меняет в гибридном приложении.
Я старался rootElement : 'html'
или даже useAllAngular2AppRoots: true
,
Я подозреваю, что проблема возникает из-за асинхронной загрузки гибридного углового (из документа обновления):
Одно заметное отличие между 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 ответ
Команда транспортира исправила это:
https://github.com/angular/angular/pull/7603
Изменить: я еще не проверял это
Изменить 2: не похоже на работу, я вернулся к angularJs (версия 1)