After spending a day and a half of code battles, i've realized that the e2e tests hanged because i've bootstraped manually and not using ng-app directive
first, FYI.
second, any idea why? How can it be fixed?
thanks
Lior
-- EDIT: here're two plunks that show it, using phone-cat tutorial example:
works in both browser and e2e: http://plnkr.co/edit/AfLsug1LRi0euKf7TWJa
works interactively in browser, doesnt work in e2e runner: http://plnkr.co/edit/20OeZ5eV2ZbzgS1qDYfr
Scenario runner appears to need to get a hold of ng-app (for the $injector). I adapted the fix identified here by Vojta Jína and it worked for me.
$(function() {
var myApp = $('#appId'); // Use whatever selector is appropriate here.
angular.bootstrap(myApp, [modules]); // modules is optional - see http://docs.angularjs.org/api/angular.bootstrap
myApp.addClass('ng-app'); // Adds the required ng-app
});
In addition, you may need to put a pause or wait in your beforeAll to allow enough time for manual bootstrapping to complete, e.g.,
beforeEach(function() {
browser().navigateTo('../../index.html');
pause();
});
This fix works but it's not that satisfactory imho. Is there any way to get rid of the pause/wait?