最近,我们已升级到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)

最佳答案

似乎ElementFinderElementArrayFinder不再在protractor名称空间中公开。您可以简单地使用require导入它们:

var ElementFinder = require('protractor/built/element').ElementFinder;
var ElementArrayFinder = require('protractor/built/element').ElementArrayFinder;

ElementArrayFinder.prototype.takewhile = function(whileFn) {
    ...
};

08-25 16:58