Closed mhoyer closed 9 years ago
I just investigated to find the origin of this issue:
Error: spawn c:\Temp\e2e\node_modules\webdriverio\bin\wdio ENOENT
^^^^
Trying to spawn a child process with use of given path to wdio
does not work under Windows. The file exists, but cannot be executed.
The path to the executable should also consider non-linux environments. Besides that, isn't there a better approach to generate this path? (see https://github.com/webdriverio/gulp-webdriver/blob/051bd74/index.js#L17) Especially when webdriverio
npm package isn't a (non-dev) dependency of gulp-webdriver
: see https://github.com/webdriverio/gulp-webdriver/blob/051bd74/package.json
In your task definition in gulpfile.js
defined the wdioBin
parameter like so:
var path = require('path'),
gulp = require('gulp'),
webdriver = require('gulp-webdriver');
gulp.task('test:e2e', function() {
return gulp.src('wdio.conf.js').pipe(webdriver({
wdioBin: path.join('node_modules', '.bin', 'wdio.cmd') // FIX
}));
});
I was getting this error on Windows too and wondered why the fix didn't work. I ended up removing the wdio.cmd paths to make:
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\..\bin\wdio" %*
) ELSE (
@SETLOCAL
@SET PATHEXT=%PATHEXT:;.JS;=;%
node "%~dp0\..\bin\wdio" %*
)
Just tried to use
gulp-webdriver
following these reproduction steps (in an empty folder):I confirmed all
wdio
questions with default values:Then I create the
gulpfile.js
as simple as possible:This is what I finally got when trying to run it:
Environment: Win7x64, NodeJs v0.12.7