diff --git a/lib/core/engine/index.js b/lib/core/engine/index.js index 4e1d1673d..28ea0a6dc 100644 --- a/lib/core/engine/index.js +++ b/lib/core/engine/index.js @@ -32,15 +32,19 @@ function shouldDelay(index, total, delay) { function addExtraFieldsToHar(totalResults, har, options) { if (har) { let harPageNumber = 0; - for (let harPage of har.log.pages) { - let pageNumber = harPageNumber % totalResults.length; - for (let iteration = 0; iteration < options.iterations; iteration++) { - const visualMetric = totalResults[pageNumber].visualMetrics[iteration]; + // We test one page + // Let's do a better fix for this later on + // right now this fixes https://github.com/sitespeedio/browsertime/issues/754 + if (har.log.pages.length === options.iterations) { + for (let harPage of har.log.pages) { + let pageNumber = harPageNumber % totalResults.length; + const visualMetric = + totalResults[pageNumber].visualMetrics[harPageNumber]; const browserScript = - totalResults[pageNumber].browserScripts[iteration]; - const cpu = totalResults[pageNumber].cpu[iteration]; + totalResults[pageNumber].browserScripts[harPageNumber]; + const cpu = totalResults[pageNumber].cpu[harPageNumber]; harUtil.addExtrasToHAR( - iteration, + harPageNumber, harPage, visualMetric, browserScript.timings, @@ -48,8 +52,29 @@ function addExtraFieldsToHar(totalResults, har, options) { totalResults[pageNumber].info.url, options ); + harPageNumber++; + } + } else { + for (let harPage of har.log.pages) { + let pageNumber = harPageNumber % totalResults.length; + for (let iteration = 0; iteration < options.iterations; iteration++) { + const visualMetric = + totalResults[pageNumber].visualMetrics[iteration]; + const browserScript = + totalResults[pageNumber].browserScripts[iteration]; + const cpu = totalResults[pageNumber].cpu[iteration]; + harUtil.addExtrasToHAR( + harPageNumber, + harPage, + visualMetric, + browserScript.timings, + cpu, + totalResults[pageNumber].info.url, + options + ); + } + harPageNumber++; } - harPageNumber++; } } }