Look ma', without .json
files:
var argv = require('minimist')(process.argv.slice(2)),
nwrun = require('nwrun');
nwrun({
argv: argv,
force: argv.force,
target: argv.target,
standalone: argv.standalone,
src_folders: process.cwd() + '/tests',
output_folder: process.cwd() + '/reports'
}, function(success) {
if (!success) {
process.exit(1);
}
});
This is just a dirty-hack based on nightwatch.initGrunt()
method due compatibility issues with grunt-nightwatch
itself.
Unlike other solutions we are not spawning the nightwatch process, instead, we fake its settings in runtime.
Another interesting feature is the downloading of the selenium-server-standalone*.jar
file.
Is like running nightwatch but programmatically.
Since
[email protected]
thenightwatch
is no longer a sub-dependency and you must install it.
If you're installing
nightwatch
globally ensure you runnpm link nightwatch
within your project to make it work locally.
nwrun(options, callback)
Options
argv
— main argvs for the nightwatch instanceforce
— always force the download of the selenium jartarget
— shortcut for specifying environments (--env a,b
)standalone
— if true will start selenium (will be downloaded if missing)jar_url
— custom endpoint for the downloading the selenium jarjar_path
— custom directory for saving the selenium jar locallyjar_version
— custom version for the givenjar_url
, e.g.2.45.0
config_path
— custom path for JSON settings and options, it can be overriden per target
When done callback(success)
will get executed.
If success
is false means something failed.
Otherwise you're done.
All other options are passed directly to the
nightwatch.runner()
method.