2016-05-03 16 views
2

Ich brauche Hilfe beim Versuch, eine Gurken-Feature-Datei in WebStorm auszuführen. Ich möchte dies tun, da WebStorm es mir ermöglicht, Szenarien auszuführen, anstatt ganze Funktionen auszuführen.Ausführen von gucion.js in WebStorm

Ich verwende einen Angular-Client und möchte End-to-End-Tests durchführen, daher verwende ich Winkelmesser und Gurke.

Es gibt verschiedene Fehler, die ich bekommen habe, je nachdem, was ich versuche, aber die wichtigsten sind:

  • Fehler beim Ausführen test.feature Kann nicht Programm „usr/local/bin/cucumber.js“ laufen (im Verzeichnis „My Projekt Verzeichnis test“): Fehler = 2, keine solche Datei oder das Verzeichnis

Dies ist der Fehler, den ich bekommen beim Versuch, ein Merkmal/Szenario in WebStorm zu laufen.

  • Reference: Browser ist nicht definiert

Dies ist, nachdem ich „Run Configurations“ bearbeiten und ausführbar zu dem cucumber.js im Weg gehe von ~/.nvm/versions/node/v5.10.1/bin/gurke.js

und ich habe auch versucht, in der gucion.js exe, die in dem Projekt befindet, aber ich bekomme den gleichen Fehler.

Auf der anderen Seite, wenn ich cd in mein Projekt root, und Winkelmesser auf der Befehlszeile verwenden, nach dem Übergeben der Datei config.js, führt es die Feature-Datei ohne ein Problem!

Wie Sie sehen können, scheint es in der Befehlszeile mit Winkelmesser zu funktionieren, aber mit der Anzahl der Feature-Dateien und Szenarien, die ich erwarten würde, wäre es großartig, Szenarien einzeln auszuführen.

Zu Ihrer Information:

Ich kann mich nicht daran erinnern, wie ich NPM und Knoten installiert, aber die Einrichtung ist wie folgt:

  • NPM: Version 3.8.3. Das Verzeichnis für NPM ist ~/.nvm/versions/node/v5.10.1/bin/npm

  • Knoten: Version v5.10.1 ~/.nvm/versions/node/v5.10.1/bin/Knoten

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

Cucumber - ich dies global installiert, aber auch lokal für das Projekt.

Winkelmesser Cucumber-Framework - als dev-Abhängigkeit installiert: siehe Paket.json-Datei für Projekt.

Winkelmesser - weltweit installiert.

Die Struktur meines Projekts ist wie folgt:

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 

Inhalt conf.js Datei:

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') 
}; 

Projekts package.json Dateiinhalt:

{ 
    "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" 
    } 
} 

Ich will nur Klicken Sie mit der rechten Maustaste auf ein Szenario, und führen Sie es aus.

Es gibt verschiedene Diskussionen im Zusammenhang mit Gurke und WebStorm, jedoch hat keiner von diesen geholfen.

Ihre Hilfe würde sehr geschätzt werden. Danke im Voraus.

Antwort