From 4b99208cbf52428a98f5aaf3cc15dc55ccdd5523 Mon Sep 17 00:00:00 2001 From: kobenguyent Date: Fri, 3 Nov 2023 15:53:10 +0100 Subject: [PATCH 1/9] feat: run-workers with multiple browers output folders --- lib/workers.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/workers.js b/lib/workers.js index 057d13b0d..e77a2815f 100644 --- a/lib/workers.js +++ b/lib/workers.js @@ -94,10 +94,19 @@ const createWorkerObjects = (testGroups, config, testRoot, options, selectedRuns }); } const workersToExecute = []; + + const currentOutputFolder = config.output; + const currentMochawesomeReportDir = config.mocha.reporterOptions.mochawesome.options.reportDir; + collection.createRuns(selectedRuns, config).forEach((worker) => { + const _config = { ...config }; + _config.output = `${currentOutputFolder}/${worker.config.browser.browser}`; + if (config.mocha && config.mocha.reporterOptions) { + _config.mocha.reporterOptions.mochawesome.options.reportDir = `${currentMochawesomeReportDir}/${worker.config.browser.browser}`; + } const workerName = worker.getOriginalName() || worker.getName(); const workerConfig = worker.getConfig(); - workersToExecute.push(getOverridenConfig(workerName, workerConfig, config)); + workersToExecute.push(getOverridenConfig(workerName, workerConfig, _config)); }); const workers = []; let index = 0; From 07b10d7b69edda1cf19db788e1c5bce2e214d374 Mon Sep 17 00:00:00 2001 From: kobenguyent Date: Fri, 3 Nov 2023 15:54:18 +0100 Subject: [PATCH 2/9] feat: run-workers with multiple browers output folders --- lib/workers.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/workers.js b/lib/workers.js index e77a2815f..dbb65be67 100644 --- a/lib/workers.js +++ b/lib/workers.js @@ -96,7 +96,7 @@ const createWorkerObjects = (testGroups, config, testRoot, options, selectedRuns const workersToExecute = []; const currentOutputFolder = config.output; - const currentMochawesomeReportDir = config.mocha.reporterOptions.mochawesome.options.reportDir; + const currentMochawesomeReportDir = config.mocha.reporterOptions?.mochawesome.options.reportDir; collection.createRuns(selectedRuns, config).forEach((worker) => { const _config = { ...config }; From 530413f20254bb74f9c342fb48711a0fe62ffa5e Mon Sep 17 00:00:00 2001 From: KobeNguyenT <7845001+kobenguyent@users.noreply.github.com> Date: Sat, 4 Nov 2023 10:28:51 +0100 Subject: [PATCH 3/9] Update workers.js --- lib/workers.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/workers.js b/lib/workers.js index dbb65be67..88b05d040 100644 --- a/lib/workers.js +++ b/lib/workers.js @@ -97,14 +97,23 @@ const createWorkerObjects = (testGroups, config, testRoot, options, selectedRuns const currentOutputFolder = config.output; const currentMochawesomeReportDir = config.mocha.reporterOptions?.mochawesome.options.reportDir; + const currentMochaJunitReporterFile = config.mocha.reporterOptions?["mocha-junit-reporter"].options.mochaFile; collection.createRuns(selectedRuns, config).forEach((worker) => { const _config = { ...config }; - _config.output = `${currentOutputFolder}/${worker.config.browser.browser}`; + const workerName = worker.name.replace(":", "_"); + _config.output = `${currentOutputFolder}/${workerName}`; if (config.mocha && config.mocha.reporterOptions) { - _config.mocha.reporterOptions.mochawesome.options.reportDir = `${currentMochawesomeReportDir}/${worker.config.browser.browser}`; + _config.mocha.reporterOptions.mochawesome.options.reportDir = `${currentMochawesomeReportDir}/${workerName}`; + +let _tempArray = currentMochaJunitReporterFile.split("/"); + +_tempArray = _tempArray.splice(_tempArray.length - 2, 0, workerName); + +_config.mocha.reporterOptions?["mocha-junit-reporter"].options.mochaFile = _tempArray.join("/"); + } - const workerName = worker.getOriginalName() || worker.getName(); + workerName = worker.getOriginalName() || worker.getName(); const workerConfig = worker.getConfig(); workersToExecute.push(getOverridenConfig(workerName, workerConfig, _config)); }); From 262350ddbf408b6e9bb187c8a453fa649890e254 Mon Sep 17 00:00:00 2001 From: KobeNguyenT <7845001+kobenguyent@users.noreply.github.com> Date: Sat, 4 Nov 2023 10:36:01 +0100 Subject: [PATCH 4/9] Update workers.js --- lib/workers.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/workers.js b/lib/workers.js index 88b05d040..46d338d0e 100644 --- a/lib/workers.js +++ b/lib/workers.js @@ -97,7 +97,7 @@ const createWorkerObjects = (testGroups, config, testRoot, options, selectedRuns const currentOutputFolder = config.output; const currentMochawesomeReportDir = config.mocha.reporterOptions?.mochawesome.options.reportDir; - const currentMochaJunitReporterFile = config.mocha.reporterOptions?["mocha-junit-reporter"].options.mochaFile; + const currentMochaJunitReporterFile = config.mocha.reporterOptions["mocha-junit-reporter"].options.mochaFile; collection.createRuns(selectedRuns, config).forEach((worker) => { const _config = { ...config }; From 4ed86f74a524f9c495863325e0f37948dc9a29bb Mon Sep 17 00:00:00 2001 From: kobenguyent Date: Sat, 4 Nov 2023 10:54:23 +0100 Subject: [PATCH 5/9] some improvements --- lib/workers.js | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/lib/workers.js b/lib/workers.js index 46d338d0e..a87c98de5 100644 --- a/lib/workers.js +++ b/lib/workers.js @@ -97,21 +97,19 @@ const createWorkerObjects = (testGroups, config, testRoot, options, selectedRuns const currentOutputFolder = config.output; const currentMochawesomeReportDir = config.mocha.reporterOptions?.mochawesome.options.reportDir; - const currentMochaJunitReporterFile = config.mocha.reporterOptions["mocha-junit-reporter"].options.mochaFile; + const currentMochaJunitReporterFile = config.mocha.reporterOptions['mocha-junit-reporter'].options.mochaFile; collection.createRuns(selectedRuns, config).forEach((worker) => { + const separator = path.sep; const _config = { ...config }; - const workerName = worker.name.replace(":", "_"); - _config.output = `${currentOutputFolder}/${workerName}`; + let workerName = worker.name.replace(':', '_'); + _config.output = `${currentOutputFolder}${separator}${workerName}`; if (config.mocha && config.mocha.reporterOptions) { - _config.mocha.reporterOptions.mochawesome.options.reportDir = `${currentMochawesomeReportDir}/${workerName}`; - -let _tempArray = currentMochaJunitReporterFile.split("/"); - -_tempArray = _tempArray.splice(_tempArray.length - 2, 0, workerName); - -_config.mocha.reporterOptions?["mocha-junit-reporter"].options.mochaFile = _tempArray.join("/"); + _config.mocha.reporterOptions.mochawesome.options.reportDir = `${currentMochawesomeReportDir}${separator}${workerName}`; + let _tempArray = currentMochaJunitReporterFile.split(separator); + _tempArray = _tempArray.splice(_tempArray.length - 2, 0, workerName); + _config.mocha.reporterOptions['mocha-junit-reporter'].options.mochaFile = _tempArray.join(separator); } workerName = worker.getOriginalName() || worker.getName(); const workerConfig = worker.getConfig(); From d66acf4920052c46cfb75322c09bc143c58b68be Mon Sep 17 00:00:00 2001 From: kobenguyent Date: Sat, 4 Nov 2023 10:56:21 +0100 Subject: [PATCH 6/9] some improvements --- lib/workers.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/workers.js b/lib/workers.js index a87c98de5..694b05a7f 100644 --- a/lib/workers.js +++ b/lib/workers.js @@ -96,8 +96,13 @@ const createWorkerObjects = (testGroups, config, testRoot, options, selectedRuns const workersToExecute = []; const currentOutputFolder = config.output; - const currentMochawesomeReportDir = config.mocha.reporterOptions?.mochawesome.options.reportDir; - const currentMochaJunitReporterFile = config.mocha.reporterOptions['mocha-junit-reporter'].options.mochaFile; + let currentMochawesomeReportDir; + let currentMochaJunitReporterFile; + + if (config.mocha.reporterOptions) { + currentMochawesomeReportDir = config.mocha.reporterOptions?.mochawesome.options.reportDir; + currentMochaJunitReporterFile = config.mocha.reporterOptions['mocha-junit-reporter'].options.mochaFile; + } collection.createRuns(selectedRuns, config).forEach((worker) => { const separator = path.sep; From 39910488290d78f1fc5e6aed056a3e319065a76f Mon Sep 17 00:00:00 2001 From: kobenguyent Date: Sat, 4 Nov 2023 12:41:08 +0100 Subject: [PATCH 7/9] some improvements --- lib/workers.js | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/lib/workers.js b/lib/workers.js index 694b05a7f..91111eb2b 100644 --- a/lib/workers.js +++ b/lib/workers.js @@ -96,13 +96,8 @@ const createWorkerObjects = (testGroups, config, testRoot, options, selectedRuns const workersToExecute = []; const currentOutputFolder = config.output; - let currentMochawesomeReportDir; - let currentMochaJunitReporterFile; - - if (config.mocha.reporterOptions) { - currentMochawesomeReportDir = config.mocha.reporterOptions?.mochawesome.options.reportDir; - currentMochaJunitReporterFile = config.mocha.reporterOptions['mocha-junit-reporter'].options.mochaFile; - } + const currentMochawesomeReportDir = config.mocha.reporterOptions?.mochawesome.options.reportDir; + const currentMochaJunitReporterFile = config.mocha.reporterOptions['mocha-junit-reporter'].options.mochaFile; collection.createRuns(selectedRuns, config).forEach((worker) => { const separator = path.sep; @@ -112,8 +107,8 @@ const createWorkerObjects = (testGroups, config, testRoot, options, selectedRuns if (config.mocha && config.mocha.reporterOptions) { _config.mocha.reporterOptions.mochawesome.options.reportDir = `${currentMochawesomeReportDir}${separator}${workerName}`; - let _tempArray = currentMochaJunitReporterFile.split(separator); - _tempArray = _tempArray.splice(_tempArray.length - 2, 0, workerName); + const _tempArray = currentMochaJunitReporterFile.split(separator); + _tempArray.splice(_tempArray.findIndex(item => item.includes('.xml')), 0, workerName); _config.mocha.reporterOptions['mocha-junit-reporter'].options.mochaFile = _tempArray.join(separator); } workerName = worker.getOriginalName() || worker.getName(); From 339f9dc6d5240f4cfc7a7e4bd3f7b0c28e3af393 Mon Sep 17 00:00:00 2001 From: kobenguyent Date: Sat, 4 Nov 2023 12:43:23 +0100 Subject: [PATCH 8/9] some improvements --- lib/workers.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/workers.js b/lib/workers.js index 91111eb2b..2d3ee1035 100644 --- a/lib/workers.js +++ b/lib/workers.js @@ -96,8 +96,13 @@ const createWorkerObjects = (testGroups, config, testRoot, options, selectedRuns const workersToExecute = []; const currentOutputFolder = config.output; - const currentMochawesomeReportDir = config.mocha.reporterOptions?.mochawesome.options.reportDir; - const currentMochaJunitReporterFile = config.mocha.reporterOptions['mocha-junit-reporter'].options.mochaFile; + let currentMochawesomeReportDir; + let currentMochaJunitReporterFile; + + if (config.mocha.reporterOptions) { + currentMochawesomeReportDir = config.mocha.reporterOptions?.mochawesome.options.reportDir; + currentMochaJunitReporterFile = config.mocha.reporterOptions['mocha-junit-reporter'].options.mochaFile; + } collection.createRuns(selectedRuns, config).forEach((worker) => { const separator = path.sep; From ba99d499814e2633d5ba8e88af0b060bf76b7e24 Mon Sep 17 00:00:00 2001 From: KobeNguyenT <7845001+kobenguyent@users.noreply.github.com> Date: Sat, 4 Nov 2023 13:27:15 +0100 Subject: [PATCH 9/9] fix: condition check --- lib/workers.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/workers.js b/lib/workers.js index 2d3ee1035..e36a1509c 100644 --- a/lib/workers.js +++ b/lib/workers.js @@ -99,7 +99,7 @@ const createWorkerObjects = (testGroups, config, testRoot, options, selectedRuns let currentMochawesomeReportDir; let currentMochaJunitReporterFile; - if (config.mocha.reporterOptions) { + if (config.mocha && config.mocha.reporterOptions) { currentMochawesomeReportDir = config.mocha.reporterOptions?.mochawesome.options.reportDir; currentMochaJunitReporterFile = config.mocha.reporterOptions['mocha-junit-reporter'].options.mochaFile; }