最近,我们已升级到Protractor 4.0.0,并且测试由于以下原因立即开始失败:
错误:TypeError:无法读取未定义的属性“ prototype”
在以下行的onPrepare()
中失败:
protractor.ElementArrayFinder.prototype.takewhile = function(whileFn) {
// ...
};
我们在这里extending
ElementArrayFinder
to support takewhile
function。看起来
protractor.ElementArrayFinder
现在未定义。我们应该如何在量角器4中扩展
ElementArrayFinder
?我没有发现变更日志中的重大更改有任何相关信息。
问题跟踪链接:Cannot read property 'prototype' of undefined (Protractor 4 upgrade problem)。
最佳答案
似乎ElementFinder
和ElementArrayFinder
不再在protractor
名称空间中公开。您可以简单地使用require导入它们:
var ElementFinder = require('protractor/built/element').ElementFinder;
var ElementArrayFinder = require('protractor/built/element').ElementArrayFinder;
ElementArrayFinder.prototype.takewhile = function(whileFn) {
...
};