【问题标题】:Protractor Object [object Object] has no method 'then'Protractor Object [object Object] 没有方法“then”
【发布时间】:2015-06-09 09:49:18
【问题描述】:

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

消息: 失败:对象 [object Object] 没有方法 'then' 堆栈: 错误:失败:对象 [object Object] 没有方法“then” 在 /usr/lib/node_modules/protractor/node_modules/jasminewd2/index.js:102:16 在 [object Object].promise.ControlFlow.runInFrame_ (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1877:20) 在 [object Object].promise.Callback_.goog.defineClass.notify (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:2464:25) 在 [object Object].promise.Promise.notify_ (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:563:12)

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

【问题讨论】:

  • 你需要显示的不仅仅是这个错误......你在两台机器上使用相同的量角器版本吗?如果您希望两台机器上的行为相同,则必须使用相同版本的所有内容。
  • 显示您的测试以及它在哪一行失败?

标签: node.js protractor fedora


【解决方案1】:

您收到此错误是因为您在工作站上运行 Protractor 2.0,而在其他机器上运行 1.x。 Protractor 2.0 has a breaking change 删除 element.then。您需要更新测试以解决此更改。

【讨论】:

  • 这是一个猜测,但很有见地。我认为就是这样,尽管我们需要查看代码才能确定这一点。
  • 我在从 1.x 迁移到 2.x 时遇到了这个问题。
  • 非常感谢,完全正确!因为我的 package.json 在量角器版本上非常不具体,所以新设置使用量角器 2.0。
猜你喜欢
  • 1970-01-01
  • 2016-01-03
  • 1970-01-01
  • 2013-10-18
  • 1970-01-01
  • 2015-09-22
  • 2015-05-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多