我尝试了一些事情并得出以下结论:
我得到的超时来自量角器的“WaitForAngular”方法。现在我只是一名测试人员,对 JaveScript 一无所知,但我认为 Protractor 的“clientsidescripts.js”文件可能有问题,因此 Protractor for .NET 的“ClientSideScripts.cs”也可能有问题,我我正在使用:
else if (window.getAllAngularTestabilities) {
var testabilities = window.getAllAngularTestabilities();
var count = testabilities.length;
var decrement = function() {
count--;
if (count === 0) {
callback();
}
};
testabilities.forEach(function(testability) {
testability.whenStable(decrement);
});
(这是 Protractor 中的第 156-167 行 / Protractor-net 中的第 99-110 行)
根据我的理解和我的尝试,在最后一行中,“减量”的调用应该是“减量()”。否则将不会调用递减函数并且回调永远不会发生。
到目前为止,这对我来说很好,我不再被超时所困。另一方面,自动等待现在似乎也没有那么好用了。但我刚刚找到了这个解决方法,并将继续使用它。
更新:上面的“修复”不起作用。它确实可以防止超时,但也可以防止量角器正常工作;)