升级到量角器4后无法读取未定义的属性“原型”

Cannot read property 'prototype' of undefined after upgrading to Protractor 4

本文关键字:未定义 属性 原型 读取 量角器      更新时间:2023-09-26

最近,我们升级到量角器 4.0.0,我们的测试立即开始失败,并显示:

错误:

类型错误:无法读取未定义的属性"原型"

在以下行onPrepare()失败:

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

在这里,我们将ElementArrayFinder扩展以支持takewhile功能。

看起来protractor.ElementArrayFinder现在未定义。我们应该如何在量角器 4 中扩展ElementArrayFinder

我在更改日志中的重大更改中没有看到任何相关内容。


问题

跟踪器链接:无法读取未定义的属性"原型"(量角器4升级问题)。

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

var ElementFinder = require('protractor/built/element').ElementFinder;
var ElementArrayFinder = require('protractor/built/element').ElementArrayFinder;
ElementArrayFinder.prototype.takewhile = function(whileFn) {
    ...
};