lib/options.js
function(opts) {
		opts.selenium = opts.selenium || 'http://localhost:4444/wd/hub';
		if (typeof opts.selenium === 'string') {
			if (opts.selenium === 'ondemand.saucelabs.com' || opts.selenium === 'hub.browserstack.com') {
				opts.selenium = opts.selenium + '/wd/hub';
			}

			if (!opts.selenium.match(/^http(s)?:\/\//)) {
				opts.selenium = 'http://' + opts.selenium
			}
			var url = require('url');
			opts.selenium = url.parse(opts.selenium);
		}

		if (typeof opts.username !== 'undefined') {
			opts.selenium.user = opts.username;
		}

		if (typeof opts.accesskey !== 'undefined') {
			opts.selenium.pwd = opts.accesskey;
		}
		if (typeof opts.selenium.port !== 'number') {
			opts.selenium.port = parseInt(opts.selenium.port, 10);
		}
		if (isNaN(opts.selenium.port)) {
			opts.selenium.port = null;
		}

		return opts;
	}
function(opts) {
		opts.selenium = opts.selenium || 'http://localhost:4444/wd/hub';
		if (typeof opts.selenium === 'string') {
			if (opts.selenium === 'ondemand.saucelabs.com' || opts.selenium === 'hub.browserstack.com') {
				opts.selenium = opts.selenium + '/wd/hub';
			}

			if (!opts.selenium.match(/^http(s)?:\/\//)) {
				opts.selenium = 'http://' + opts.selenium
			}
			var url = require('url');
			opts.selenium = url.parse(opts.selenium);
		}

		if (typeof opts.username !== 'undefined') {
			opts.selenium.user = opts.username;
		}

		if (typeof opts.accesskey !== 'undefined') {
			opts.selenium.pwd = opts.accesskey;
		}
		if (typeof opts.selenium.port !== 'number') {
			opts.selenium.port = parseInt(opts.selenium.port, 10);
		}
		if (isNaN(opts.selenium.port)) {
			opts.selenium.port = null;
		}

		return opts;
	}
selenium