量角器对象 [object Object] 没有方法 'then'

Protractor Object [object Object] has no method 'then'

我刚刚在我的软呢帽工作站上安装了量角器。我的测试在 Windows 7 和 OS X 上运行良好,但在 fedora 上我得到这个错误:

Message: Failed: Object [object Object] has no method 'then' Stack: Error: Failed: Object [object Object] has no method 'then' at /usr/lib/node_modules/protractor/node_modules/jasminewd2/index.js:102:16 at [object Object].promise.ControlFlow.runInFrame_ (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1877:20) at [object Object].promise.Callback_.goog.defineClass.notify (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:2464:25) at [object Object].promise.Promise.notify_ (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:563:12)

显然工作站之间的差异是巨大的。甚至节点运行在不同的版本(在 fedora 上为 0.10.36)。但也许有人有同样的问题?

您收到此错误是因为您的工作站上 运行 Protractor 2.0,而其他机器上 1.x。 Protractor 2.0 has a breaking change 删除 element.then。您需要更新您的测试以应对这一变化。