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 +23 -0
- package/lib/chrome/webdriver/setupChromiumOptions.js +0 -8
- package/lib/core/engine/index.js +12 -0
- package/lib/core/seleniumRunner.js +1 -1
- package/lib/firefox/geckoProfiler.js +6 -1
- package/lib/firefox/webdriver/builder.js +8 -3
- package/lib/support/util.js +1 -1
- package/package.json +3 -3
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
|
}
|
package/lib/core/engine/index.js
CHANGED
|
@@ -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.
|
|
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/${
|
|
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
|
-
|
|
176
|
-
|
|
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
|
|
package/lib/support/util.js
CHANGED
|
@@ -16,7 +16,7 @@ module.exports = {
|
|
|
16
16
|
} else return value;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
let formatted = `${name}: ${fmt(multiple ? 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.
|
|
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": "
|
|
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.
|
|
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",
|