我们在使用Protractor(NgWebDriver)从Angular 2页面中检测元素时遇到问题,在Angular 1页面中它可以正常工作。重构我们的框架(Visual Studio,C#,Specflow,NUnit,Selenium Webdriver,Protractor)是一种适用于.Net应用程序,Angular 1应用程序的方式。但是现在我们在Angular 2中构建的页面很少,并且它无法检测到Angular 2元素。
我确实进行了搜索,并找到下面的代码作为对少数有相同问题的人的解答。我们在c#中工作,因此如果有人可以帮助我如何在c#中使用以下代码,那将是很棒的。 (例如:c#中的窗口是什么,在c#/用于C#的量角器中如何获取getAllAngularTestabilities()方法)。我不是核心开发人员,因此在转换不同语言的解决方案时会遇到困难。预先感谢。
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);
}
};