Wir verwenden Selenium WebDriver, um unsere UI-basierten Tests zu automatisieren. Eine unserer Herausforderungen besteht darin, zu erkennen, wann eine Seite tatsächlich geladen wurde, und Angular 1 war auch in dieser Hinsicht eine Herausforderung. Wir sind am Ende dieses Stück Code ausgeführt wird eigens zu erkennen, ob Angular 1 durchgeführt wird:Erkennen, dass Angular 2 ausgeführt wird
if(typeof window.angular !== \"undefined\")
{
var injector = window.angular.element(\"*[ng-app]\").eq(0).injector();
if(injector)
{
var $rootScope = injector.get(\"$rootScope\");
var $http = injector.get(\"$http\");
if($rootScope.$$phase === \"$apply\" || $rootScope.$$phase === \"$digest\" || $http.pendingRequests.length !== 0)
{
return false;
}
}
}
Die App, die wir den Code Angular 2. verwenden kürzlich umgeschaltet testen Schnipsel oben nicht für Angular 2 bis zum Ende nicht warten . Irgendwelche Vorschläge?
Es gibt das gleiche Thema: http://stackoverflow.com/questions/34731869/wait-for-angular-2-to-load-resolve-model-before-rendering-view-template Und die beste Antwort war http: //stackoverflow.com/a/38212664/4019586 –
Können Sie mir bitte ein Beispiel geben, wie Sie diesen Code für AngularJS 1 verwendet haben? – yuva