selenium – 检测Angular 2是否已运行
发布时间:2020-12-17 07:53:35 所属栏目:安全 来源:网络整理
导读:我们使用Selenium WebDriver自动化基于UI的测试.我们的挑战之一是检测页面何时真正完成加载,而Angular 1在这方面也是一个挑战.我们最终执行这段代码专门检测Angular 1是否完成: if(typeof window.angular !== "undefined"){ var injector = window.angula
我们使用Selenium WebDriver自动化基于UI的测试.我们的挑战之一是检测页面何时真正完成加载,而Angular 1在这方面也是一个挑战.我们最终执行这段代码专门检测Angular 1是否完成:
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; } } } 我们最近测试的应用程序切换到使用Angular 2.上面的代码片段不等待Angular 2完成.有什么建议么?
对于Angular 2,您应该等待所有Angular 2应用程序的稳定性为
“testabilities”:
functions.waitForAllAngular2 = function(callback) { try { var testabilities = window.getAllAngularTestabilities(); var count = testabilities.length; var decrement = function() { count--; if (count === 0) { callback(); } }; testabilities.forEach(function(testability) { testability.whenStable(decrement); }); } catch (err) { callback(err.message); } }; 量角器是围绕WebDriverJS javascript selenium绑定的包装器;旨在测试AngularJS应用程序(不仅是,但最适合). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |