diff --git a/lib/cli.js b/lib/cli.js index 0a2ac070b..8cf9dc439 100644 --- a/lib/cli.js +++ b/lib/cli.js @@ -83,6 +83,22 @@ if (argv.exclude) { argv.exclude = processFilePatterns(argv.exclude); } +// WebDriver capabilities properties require dot notation. +var flattenObject = function(obj) { + var prefix = arguments[1] || ''; + var out = arguments[2] || {}; + for (var prop in obj) { + if (obj.hasOwnProperty(prop)) { + typeof obj[prop] === 'object' ? flattenObject(obj[prop], prefix + prop + '.', out) : out[prefix + prop] = obj[prop]; + } + } + return out; +} + +if (argv.capabilities) { + argv.capabilities = flattenObject(argv.capabilities); +} + ['seleniumServerJar', 'chromeDriver', 'onPrepare'].forEach(function(name) { if (argv[name]) { argv[name] = path.resolve(process.cwd(), argv[name]);