量角器 + CucumberJS 更新后错误:cucumber.js:150:36

Protractor + CucumberJS Error after update: cucumber.js:150:36

我在这里讨论这个问题,因为我是通过 GithubIssue 2630 开始这个对话的,基本上我在 Protractor 和 Cucumber 的集成方面遇到了问题,我什至尝试过将两者降级到旧版本,但同样的事情发生了,这是我到目前为止所做的解释:

我卸载了所有东西,从头开始。我开始在全球范围内安装 Protractor、Cucumber 和 Webdriver,当我 运行 protractor 命令时,我可以看到这个错误,和以前一样。

$ protractor conf.js
Starting selenium standalone server...
[launcher] Running 1 instances of WebDriver
Selenium standalone server started at http://192.168.0.104:64737/wd/hub
[launcher] Error: TypeError: undefined is not a function
    at /usr/local/lib/node_modules/protractor/lib/frameworks/cucumber.js:150:36
    at Function.promise (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:650:9)
    at /usr/local/lib/node_modules/protractor/lib/frameworks/cucumber.js:147:14
    at _fulfilled (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:797:54)
    at self.promiseDispatch.done (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:826:30)
    at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:759:13)
    at /usr/local/lib/node_modules/protractor/node_modules/q/q.js:525:49
    at flush (/usr/local/lib/node_modules/protractor/node_modules/q/q.js:108:17)
    at process._tickCallback (node.js:355:11)
[launcher] Process exited with error code 100

```

然后我都在本地安装了,运行宁npm install,然后就出现了这个错误

[launcher] Process exited with error code 1
/Users/brunosoko/Documents/Dev/Personal/test2/node_modules/protractor/node_modules/q/q.js:126
                    throw e;
                          ^
Error: No selenium server jar found at the specified location (/Users/brunosoko/Documents/Dev/Personal/test2/node_modules/protractor/selenium/selenium-server-standalone-2.47.1.jar). Check that the version number is up to date.
    at LocalDriverProvider.addDefaultBinaryLocs_ (/Users/brunosoko/Documents/Dev/Personal/test2/node_modules/protractor/lib/driverProviders/local.js:37:11)
    at LocalDriverProvider.setupEnv (/Users/brunosoko/Documents/Dev/Personal/test2/node_modules/protractor/lib/driverProviders/local.js:71:8)
    at Runner.run (/Users/brunosoko/Documents/Dev/Personal/olapic-test2/node_modules/protractor/lib/runner.js:261:31)
    at TaskRunner.run (/Users/brunosoko/Documents/Dev/Personal/test2/node_modules/protractor/lib/taskRunner.js:123:19)
    at createNextTaskRunner (/Users/brunosoko/Documents/Dev/Personal/test2/node_modules/protractor/lib/launcher.js:223:20)
    at /Users/brunosoko/Documents/Dev/Personal/test2/node_modules/protractor/lib/launcher.js:246:7
    at _fulfilled (/Users/brunosoko/Documents/Dev/Personal/test2/node_modules/protractor/node_modules/q/q.js:797:54)
    at self.promiseDispatch.done (/Users/brunosoko/Documents/Dev/Personal/test2/node_modules/protractor/node_modules/q/q.js:826:30)
    at Promise.promise.promiseDispatch (/Users/brunosoko/Documents/Dev/Personal/test2/node_modules/protractor/node_modules/q/q.js:759:13)
    at /Users/brunosoko/Documents/Dev/Personal/test2/node_modules/protractor/node_modules/q/q.js:573:44

我通过在本地安装 webdriver ./node_modules/.bin/webdriver-manager update 解决了这个问题 然后我 运行 ./node_modules/.bin/protractor conf.js 并且我得到与上面相同的错误,对于 cucumber.js:150:36

后来尝试卸载全局框架,npm uninstall -g protractornpm uninstall -g cucumber

但是出现同样的错误!我不确定我做错了什么!

我不确定你的具体情况有什么问题,但我在这里创建了一个使用尚未发布的量角器版本的 Cucumber 0.8.1 的最低限度示例 - https://github.com/darrinholst/protractor-cucumber-example。希望这有帮助。

git clone https://github.com/darrinholst/protractor-cucumber-example
cd protractor-cucumber-example
npm install
npm test