Commit 5fc5ed64 authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Diferencia versiones de driver y browser en tests

Bajo los mismos parámetros, ahora se recoge la versión de chrome y de
firefox, pero se separa su interpretación según se lancen tests locales
o remotos. Para local, significa versión de driver, mientras que para
remoto significa versión de browser deseada.

Omite la configuración de drivers y sus versiones para ejecución de
tests en remoto, ya que no aplica y sólo causa que no comience el
proceso si no lo encuentra (lo descargaba pero no lo usaba). Refactoriza
la composición de código para gestionar mejor este cambio.
parent b522cc29
Loading
Loading
Loading
Loading
+14 −3
Original line number Diff line number Diff line
@@ -3,7 +3,8 @@ module.exports = function(args) {
	var headless = args.headless,
		browser = args.browser,
		browserList = typeof browser === 'string' ? browser.split(',') : browser,
		//userDataDir = args.userDataDir || '.config',
		chromeBrowserVersion = args.chromeVersion,
		firefoxBrowserVersion = args.firefoxVersion,
		windowWidth = 1280,
		windowHeight = 768,
		environments = [];
@@ -15,8 +16,7 @@ module.exports = function(args) {
				args: [
					'disable-search-engine-choice-screen',
					'disable-extensions',
					'window-size=' + windowWidth + ',' + windowHeight,
					//'user-data-dir=' + userDataDir
					'window-size=' + windowWidth + ',' + windowHeight
				]
			}
		},
@@ -39,6 +39,17 @@ module.exports = function(args) {
		browserConfigs.firefoxConfig['moz:firefoxOptions'].args.push('--headless');
	}

	if (chromeBrowserVersion) {
		var chromeBrowserVersionSplitted = chromeBrowserVersion.split('.'),
			chromeBrowserMajorMinorVersion = chromeBrowserVersionSplitted.slice(0, 2).join('.');

		browserConfigs.chromeConfig.browserVersion = chromeBrowserMajorMinorVersion;
	}

	if (firefoxBrowserVersion) {
		browserConfigs.firefoxConfig.browserVersion = firefoxBrowserVersion;
	}

	for (var i = 0; i < browserList.length; i++) {
		var browserItem = browserList[i];
		environments.push(browserConfigs[browserItem.trim() + 'Config']);
+2 −29
Original line number Diff line number Diff line
@@ -11,8 +11,6 @@ module.exports = function(args) {
		grep = args.grep,

		seleniumVersion = args.seleniumVersion,
		chromeVersion = args.chromeVersion,
		firefoxVersion = args.firefoxVersion,

		ownServerPort = args.ownServerPort,
		ownSocketPort = args.ownSocketPort,
@@ -23,33 +21,8 @@ module.exports = function(args) {

	delete dojoConfig.deps;

	var drivers = [];

	var chromeDriver = {
		name: 'chrome',
		baseUrl: 'https://storage.googleapis.com/chrome-for-testing-public',
		platform: 'linux64'
	};

	if (chromeVersion) {
		chromeDriver.version = chromeVersion;
	}

	drivers.push(chromeDriver);

	var firefoxDriver = {
		name: 'firefox'
	};

	if (firefoxVersion) {
		firefoxDriver.version = firefoxVersion;
	}

	drivers.push(firefoxDriver);

	var tunnelOptions = {
		port: tunnelPort,
		drivers: drivers
		port: tunnelPort
	};

	if (seleniumVersion) {
@@ -59,7 +32,7 @@ module.exports = function(args) {
	var config = {
		capabilities: {
			'idle-timeout': 30,
			'fixSessionCapabilities': true
			fixSessionCapabilities: 'no-detect'
		},

		environments: environments,
+44 −0
Original line number Diff line number Diff line
module.exports = function(args) {

	var chromeDriverVersion = args.chromeVersion,
		firefoxDriverVersion = args.firefoxVersion;

	var drivers = [];

	var chromeDriver = {
		name: 'chrome'
	};

	if (chromeDriverVersion) {
		chromeDriver.version = chromeDriverVersion;

		var chromeMajorVersion = parseInt(chromeDriverVersion.split('.')[0], 10);

		if (chromeMajorVersion > 114) {
			chromeDriver.baseUrl = 'https://storage.googleapis.com/chrome-for-testing-public';
			chromeDriver.platform = 'linux64';
		}
	}

	drivers.push(chromeDriver);

	var firefoxDriver = {
		name: 'firefox'
	};

	if (firefoxDriverVersion) {
		firefoxDriver.version = firefoxDriverVersion;
	}

	drivers.push(firefoxDriver);

	var tunnelOptions = {
		drivers: drivers
	};

	var config = {
		tunnelOptions: tunnelOptions
	};

	return config;
};
+2 −2
Original line number Diff line number Diff line
module.exports = function(args) {

	var deepmerge = require('deepmerge'),

		_internFunctional = require('./_intern-functional')(args),
		_local = require('./_local')(args),

		ownServerPort = args.ownServerPort,
		serverUrl = args.serverUrl || 'http://localhost:' + ownServerPort,
@@ -11,7 +11,7 @@ module.exports = function(args) {
			serverUrl: serverUrl
		};

	return deepmerge(_internFunctional, config, {
	return deepmerge.all([_internFunctional, _local, config], {
		arrayMerge: function (_destinationArray, sourceArray, _options) {

			return sourceArray;
+10 −1
Original line number Diff line number Diff line
module.exports = function(args) {

	return require('./_intern-unit')(args);
	var deepmerge = require('deepmerge'),
		_internUnit = require('./_intern-unit')(args),
		_local = require('./_local')(args);

	return deepmerge.all([_internUnit, _local], {
		arrayMerge: function (_destinationArray, sourceArray, _options) {

			return sourceArray;
		}
	});
};
Loading