From 6b270eec2eb0d32e0b473cfe33bf10a430f09957 Mon Sep 17 00:00:00 2001 From: Peter Hedenskog Date: Mon, 26 Apr 2021 22:24:23 +0200 Subject: [PATCH] Only run scripts that needs privileges in Firefox. (#1558) * Only run scripts that needs privileges in Firefox. https://github.com/sitespeedio/browsertime/issues/1557 * requires are never an array --- lib/core/seleniumRunner.js | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/lib/core/seleniumRunner.js b/lib/core/seleniumRunner.js index 86873009e..cfc39f27d 100644 --- a/lib/core/seleniumRunner.js +++ b/lib/core/seleniumRunner.js @@ -599,10 +599,11 @@ class SeleniumRunner { async runScriptInCategory(category, isAsync) { const scriptNames = Object.keys(category); const results = {}; - let requires = []; + let requires; for (let scriptName of scriptNames) { let isAsyncOverride = false; + requires = {}; let script = category[scriptName]; if (typeof script != 'string') { @@ -629,15 +630,21 @@ class SeleniumRunner { requires = category[scriptName].requires; isAsyncOverride = category[scriptName].isAsync; } - - const result = await this.runScriptFromCategory( - script, - isAsync || isAsyncOverride, - scriptName, - requires - ); - if (!(result === null || result === undefined)) { - results[scriptName] = result; + if ( + Object.keys(requires).length > 0 && + this.options.browser !== 'firefox' + ) { + // Require is only for running in Firefox + } else { + const result = await this.runScriptFromCategory( + script, + isAsync || isAsyncOverride, + scriptName, + requires + ); + if (!(result === null || result === undefined)) { + results[scriptName] = result; + } } } return results;