在WebStorm中运行cucumber.js

时间:2016-05-03 15:47:45

标签: angularjs cucumber protractor bdd webstorm

我需要帮助尝试从WebStorm中运行黄瓜功能文件。我想这样做,因为WebStorm允许我运行场景,而不是运行整个功能。

我正在运行Angular客户端,并希望进行端到端测试,因此我使用的是Protractor和Cucumber。

根据我的尝试,我会遇到各种各样的错误,但主要的错误是:

  • 运行test.feature时出错 无法运行程序“usr / local / bin / cucumber.js”(在目录“我的项目的测试目录”中):error = 2,没有这样的文件或目录

这是我在WebStorm中尝试运行功能/场景时遇到的错误。

  • ReferenceError:浏览器未定义

这是在我编辑“运行配置”并将路径传递到〜/ .nvm / versions / node / v5.10.1 / bin / cucumber.js中的cucumber.js可执行文件之后

我也试过传入位于项目中的cucumber.js exe,但是我得到了同样的错误。

另一方面,当我 cd 进入我的项目根目录,并在命令行上使用量角器时,在传递了我的config.js文件后,它运行该功能文件没有问题!< / p>

正如您所看到的,它似乎在使用量角器的命令行上工作,但是由于我期望具有的功能文件和场景的数量,单独运行场景会很棒。

供您参考:

我不记得我是如何安装NPM和Node的,但设置如下:

  • NPM:版本3.8.3。 NPM的目录是〜/ .nvm / versions / node / v5.10.1 / bin / npm

  • 节点:版本v5.10.1~ / .nvm / versions / node / v5.10.1 / bin / node

  • NodeJS:v0.10.25 / usr / bin / nodejs

黄瓜 - 我在全球安装了这个,但也是项目的本地安装。

Protractor Cucumber-framework - 作为dev依赖项安装:请参阅项目的package.json文件。

量角器 - 全球安装。

我的项目结构如下:

Project
. http
. node_modules
 .. cucumber
   ... bin
      .... cucumber.js
. src
. test
 .. step_definitions
   ... test_steps.js
 ..test.feature
. conf.js (for cucumber)
. karma.conf.js
. package.json
. webpack.config.js

conf.js文件的内容:

exports.config = {

seleniumAddress: 'http://localhost:4444/wd/hub',
framework: 'custom',

specs: [
    'test/features/test.feature'
],

capabilities: {
    'browserName' : 'chrome'
},

baseUrl: 'http://localhost:9000',
cucumberOpts : {
    require: 'test/features/step_definitions/test_steps.js',
    format: 'pretty'
},

frameworkPath: require.resolve('protractor-cucumber-framework')
};

项目的package.json文件内容:

{
  "name": "test_draft",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "build": "webpack -p --display-modules",
    "dev": "webpack-dev-server --content-base http/ --hot --inline",
    "test": "karma start"
  },
  "keywords": [],
  "author": "",
  "license": "UNLICENSED",
  "dependencies": {
    "angular": "^1.5.3",
    "angular-ui-router": "^0.2.18",
    "bootstrap": "^3.3.6",
    "jquery": "^2.2.3",
    "pikaday": "^1.4.0"
  },
  "devDependencies": {
    "babel-loader": "^6.2.4",
    "babel-preset-es2015": "^6.6.0",
    "chai": "^3.5.0",
    "css-loader": "^0.23.1",
    "cucumber": "^0.10.2",
    "file-loader": "^0.8.5",
    "html-loader": "^0.4.3",
    "karma": "^0.13.22",
    "karma-chai": "^0.1.0",
    "karma-chrome-launcher": "^0.2.3",
    "karma-mocha": "^0.2.2",
    "karma-webpack": "^1.7.0",
    "mocha": "^2.4.5",
    "protractor-cucumber-framework": "^0.5.0",
    "style-loader": "^0.13.1",
    "webpack": "^1.12.15",
    "webpack-dev-server": "^1.14.1"
  }
}

我只是希望能够右键单击一个场景并运行它。

有关Cucumber和WebStorm的各种讨论,但这些都没有帮助。

非常感谢您的帮助。提前谢谢。