browsertime 14.18.0 → 14.19.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # Browsertime changelog (we do [semantic versioning](https://semver.org))
2
2
 
3
+ ## 14.19.2 - 2022-02-05
4
+ ### Fixed
5
+ * Upgraded to Geckodriver 0.30.0 [#1710](https://github.com/sitespeedio/browsertime/pull/1710).
6
+ * Upgraded to Chromedriver that always looks for Chromedriver in PATH for arm64.
7
+ * Fixed getting Geckoprofile on Android when you do not specify Android package [#1712](https://github.com/sitespeedio/browsertime/pull/1712).
8
+ ## 14.19.1 - 2022-02-03
9
+ ### Fixed
10
+ * Remove the old fix for setting CPUThrottling, that works now in Chrome without that fix [#1708](https://github.com/sitespeedio/browsertime/pull/1708).
11
+ * Do not set binary for Firefox when run on Android [#1706](https://github.com/sitespeedio/browsertime/pull/1706).
12
+
13
+ ## 14.19.0 - 2022-02-02
14
+
15
+ ### Added
16
+ * Chrome and Chromedriver 98 [#1704](https://github.com/sitespeedio/browsertime/pull/1704).
17
+
18
+ ### Fixed
19
+ * Fix so we get the Firefox version on Android [#1704](https://github.com/sitespeedio/browsertime/pull/1704).
20
+
21
+ ## 14.18.1 - 2022-01-24
22
+ ### Fixed
23
+ * If loading a URL failed and we retry and we logged that as an info message, but you as a user only need to know if it fails after X retries. The log message now logs at debug level [#1701](https://github.com/sitespeedio/browsertime/pull/1701).
24
+ * The summary log message `[2022-01-24 16:12:38] INFO: https://www.sitespeed.io 27 requests, TTFB: 962ms (σ917.00ms), firstPaint: 2.92s (σ3.07s), firstVisualChange: 2.94s (σ3.07s), FCP: 2.92s (σ3.07s), DOMContentLoaded: 3.22s (σ2.98s), LCP: 2.92s (σ3.07s), CLS: 0.0389 (σ0.03), TBT: 769ms (σ53.00ms), Load: 3.77s (σ3.12s), speedIndex: 2.96s (σ3.07s), visualComplete85: 2.95s (σ3.06s), lastVisualChange: 4.54s (σ3.30s) (21 runs)` that summaries all the runs used mean instead of median metric. That sucks when you do many runs and want to compare them. That is now fixed to show median number instead [#1700](https://github.com/sitespeedio/browsertime/pull/1700).
25
+
3
26
  ## 14.18.0 - 2022-01-24
4
27
  ### Added
5
28
  * Updated to Edge stable in the Docker container.
@@ -25,14 +25,6 @@ module.exports = function (seleniumOptions, browserOptions, options, baseDir) {
25
25
  seleniumOptions.addArguments('--disable-setuid-sandbox');
26
26
  }
27
27
 
28
- // Running CPU throttling in Chrome desktop is broken. It works in
29
- // headless mode
30
- if (browserOptions.CPUThrottlingRate) {
31
- seleniumOptions.addArguments(
32
- '--disable-features=IsolateOrigins,site-per-process'
33
- );
34
- }
35
-
36
28
  if (options.xvfb && (options.xvfb === true || options.xvfb === 'true')) {
37
29
  seleniumOptions.addArguments('--disable-gpu');
38
30
  }
@@ -345,7 +345,19 @@ class Engine {
345
345
  // Just swallow
346
346
  }
347
347
  }
348
+ } // We don't have a HAR for Firefox on Android
349
+ else if (options.browser === 'firefox' && options.android) {
350
+ for (let result of totalResult) {
351
+ result.info.browser.name = 'Firefox';
352
+ try {
353
+ const vString = result.info.browser.userAgent.split('Firefox/')[1];
354
+ result.info.browser.version = vString;
355
+ } catch (e) {
356
+ // Just swallow
357
+ }
358
+ }
348
359
  }
360
+
349
361
  util.logResultLogLine(totalResult);
350
362
 
351
363
  if (failures.length > 0) {
@@ -311,7 +311,7 @@ class SeleniumRunner {
311
311
  } else {
312
312
  const waitTime = (this.options.retryWaitTime || 10000) * (i + 1);
313
313
  totalWaitTime += waitTime;
314
- log.info(
314
+ log.debug(
315
315
  `URL ${url} failed to load, the ${
316
316
  this.options.browser
317
317
  } are still on ${startURI} , trying ${
@@ -3,6 +3,7 @@ const log = require('intel').getLogger('browsertime.firefox');
3
3
  const geckoProfilerDefaults = require('./settings/geckoProfilerDefaults');
4
4
  const { isAndroidConfigured, Android } = require('../android');
5
5
  const path = require('path');
6
+ const get = require('lodash.get');
6
7
  const pathToFolder = require('../support/pathToFolder');
7
8
  const { BrowserError } = require('../support/errors');
8
9
  const delay = ms => new Promise(res => setTimeout(res, ms));
@@ -103,7 +104,11 @@ class GeckoProfiler {
103
104
 
104
105
  let deviceProfileFilename = destinationFilename;
105
106
  if (isAndroidConfigured(options)) {
106
- deviceProfileFilename = `/sdcard/Android/data/${this.firefoxConfig.android.package}/files/geckoProfile-${index}.json`;
107
+ deviceProfileFilename = `/sdcard/Android/data/${get(
108
+ this.firefoxConfig,
109
+ 'android.package',
110
+ 'org.mozilla.firefox'
111
+ )}/files/geckoProfile-${index}.json`;
107
112
  }
108
113
 
109
114
  // Must use String.raw or else the backslashes on Windows will be escapes.
@@ -172,9 +172,14 @@ module.exports.configureBuilder = function (builder, baseDir, options) {
172
172
  return n !== undefined;
173
173
  });
174
174
 
175
- ffOptions.setBinary(
176
- firefoxTypes.length > 0 ? firefoxTypes[0] : firefox.Channel.RELEASE
177
- );
175
+ // Do not set binary when using Android
176
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=1751196
177
+
178
+ if (!options.android) {
179
+ ffOptions.setBinary(
180
+ firefoxTypes.length > 0 ? firefoxTypes[0] : firefox.Channel.RELEASE
181
+ );
182
+ }
178
183
 
179
184
  ffOptions.addArguments('-no-remote');
180
185
 
@@ -16,7 +16,7 @@ module.exports = {
16
16
  } else return value;
17
17
  }
18
18
 
19
- let formatted = `${name}: ${fmt(multiple ? metric.mean : metric)}`;
19
+ let formatted = `${name}: ${fmt(multiple ? metric.median : metric)}`;
20
20
  if (extras) {
21
21
  formatted += ` (σ${fmt(metric.stddev.toFixed(2))})`;
22
22
  }
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "description": "Browsertime",
3
- "version": "14.18.0",
3
+ "version": "14.19.2",
4
4
  "bin": "./bin/browsertime.js",
5
5
  "dependencies": {
6
6
  "@sitespeed.io/throttle": "3.0.0",
7
7
  "@devicefarmer/adbkit": "2.11.3",
8
8
  "btoa": "1.2.1",
9
- "@sitespeed.io/chromedriver": "97.0.4692-7b",
9
+ "@sitespeed.io/chromedriver": "98.0.4758-48b",
10
10
  "chrome-har": "0.12.0",
11
11
  "chrome-remote-interface": "0.31.0",
12
12
  "dayjs": "1.10.7",
@@ -24,7 +24,7 @@
24
24
  "lodash.set": "4.3.2",
25
25
  "selenium-webdriver": "4.1.0",
26
26
  "@sitespeed.io/edgedriver": "95.0.1020-30",
27
- "@sitespeed.io/geckodriver": "0.29.1-3",
27
+ "@sitespeed.io/geckodriver": "0.30.0",
28
28
  "@sitespeed.io/tracium": "0.3.3",
29
29
  "speedline-core": "1.4.3",
30
30
  "@cypress/xvfb": "1.2.4",