browsertime 16.14.0 → 16.15.0

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,9 +1,22 @@
1
1
  # Browsertime changelog (we do [semantic versioning](https://semver.org))
2
2
 
3
+ ## 16.15.0 - 2022-08-30
4
+ ### Added
5
+ * Always get the wifi name that your Android phone is using and add it to the result [#1839](https://github.com/sitespeedio/browsertime/pull/1839).
6
+
7
+ ## 16.14.2 - 2022-08-26
8
+ ### Fixed
9
+ * Using `--preWarmServer` didn't work on Android/iOS [#1837](https://github.com/sitespeedio/browsertime/pull/1837).
10
+ ## 16.14.1 - 2022-08-26
11
+ ### Fixed
12
+ * Guard relative standard deviation agains 0 standard deviation [#1835](https://github.com/sitespeedio/browsertime/pull/1835).
3
13
  ## 16.14.0 - 2022-08-26
4
14
  ### Added
5
15
  * Collect relative standard deviation and output that in the cli output [#1834](https://github.com/sitespeedio/browsertime/pull/1834). Before we only showed the actual standard deviation, with this fix we also show it in percentage, that makes it easier if you run tests on different hardware/networks and want to compare them.
6
16
  * Collect number of processes that runs on the server that do the testing, before a test starts [#1833](https://github.com/sitespeedio/browsertime/pull/1833).
17
+
18
+ ### Fixed
19
+ * Updated to Selenium 4.4.0 and Throttle 5.0.0.
7
20
  ## 16.13.3 - 2022-08-17
8
21
 
9
22
  ### Fixed
@@ -44,19 +44,22 @@ async function preWarmServer(urls, options) {
44
44
  const safariDeviceName = get(options, 'safari.deviceName');
45
45
  const safariDeviceUDID = get(options, 'safari.deviceUDID ');
46
46
 
47
+ if (options.android && options.browser === 'chrome') {
48
+ set(preWarmOptions, 'chrome.android.package', 'com.android.chrome');
49
+ }
47
50
  if (chromeDevice) {
48
- set(options, 'chrome.android.deviceSerial', chromeDevice);
51
+ set(preWarmOptions, 'chrome.android.deviceSerial', chromeDevice);
49
52
  } else if (firefoxDevice) {
50
- set(options, 'firefox.android.deviceSerial', firefoxDevice);
53
+ set(preWarmOptions, 'firefox.android.deviceSerial', firefoxDevice);
51
54
  }
52
55
 
53
56
  if (safariIos) {
54
- set(options, 'safari.ios', true);
57
+ set(preWarmOptions, 'safari.ios', true);
55
58
  if (safariDeviceName) {
56
- set(options, 'safari.deviceName', safariDeviceName);
59
+ set(preWarmOptions, 'safari.deviceName', safariDeviceName);
57
60
  }
58
61
  if (safariDeviceUDID) {
59
- set(options, 'safari.deviceUDID', safariDeviceUDID);
62
+ set(preWarmOptions, 'safari.deviceUDID', safariDeviceUDID);
60
63
  }
61
64
  }
62
65
 
@@ -154,7 +154,7 @@ class Android {
154
154
  return temp / 10;
155
155
  }
156
156
 
157
- async getModel() {
157
+ async getMeta() {
158
158
  const rawModel = await this._runCommand(`getprop ro.product.model`);
159
159
  const model = (await adb.util.readAll(rawModel)).toString().trim();
160
160
  const rawName = await this._runCommand(`getprop ro.product.name`);
@@ -163,14 +163,14 @@ class Android {
163
163
  const device = (await adb.util.readAll(rawDevice)).toString().trim();
164
164
  const rawId = await this._runCommand(`getprop ro.serialno`);
165
165
  const id = (await adb.util.readAll(rawId)).toString().trim();
166
-
166
+ const wifi = await this.getWifi();
167
167
  const rawRelease = await this._runCommand(
168
168
  `getprop ro.build.version.release `
169
169
  );
170
170
  const androidVersion = (await adb.util.readAll(rawRelease))
171
171
  .toString()
172
172
  .trim();
173
- return { model, name, device, androidVersion, id };
173
+ return { model, name, device, androidVersion, id, wifi };
174
174
  }
175
175
 
176
176
  async pullNetLog(destination) {
package/lib/chrome/har.js CHANGED
@@ -52,7 +52,7 @@ module.exports = async function (
52
52
  harBuilder.addBrowser(har, info.name, info.version);
53
53
 
54
54
  if (androidClient) {
55
- har.log._android = await androidClient.getModel();
55
+ har.log._android = await androidClient.getMeta();
56
56
  har.log._android.id = androidClient.id;
57
57
  }
58
58
 
@@ -250,7 +250,7 @@ class Engine {
250
250
  const collector = new Collector(name, storageManager, options);
251
251
 
252
252
  if (this.android) {
253
- const model = await this.android.getModel();
253
+ const model = await this.android.getMeta();
254
254
  log.info(
255
255
  'Run tests on %s [%s] using Android version %s',
256
256
  model.model,
@@ -371,7 +371,7 @@ class Engine {
371
371
  }
372
372
 
373
373
  if (this.android) {
374
- const model = await this.android.getModel();
374
+ const model = await this.android.getMeta();
375
375
  for (let result of totalResult) {
376
376
  result.info.android = model;
377
377
  }
@@ -168,7 +168,10 @@ class Statistics {
168
168
  median: parseFloat(stats.median().toFixed(decimals)),
169
169
  mean: parseFloat(stats.amean().toFixed(decimals)),
170
170
  mdev: parseFloat((stats.stddev() / Math.sqrt(stats.length)).toFixed(4)), // "standard deviation of the mean"
171
- rsd: parseFloat((100 * stats.stddev()) / stats.amean()), // Relative standard deviation
171
+ rsd:
172
+ stats.stddev() > 0
173
+ ? parseFloat((100 * stats.stddev()) / stats.amean())
174
+ : 0, // Relative standard deviation
172
175
  stddev: parseFloat(stats.stddev().toFixed(decimals))
173
176
  };
174
177
  percentiles.forEach(p => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "description": "Browsertime",
3
- "version": "16.14.0",
3
+ "version": "16.15.0",
4
4
  "bin": "./bin/browsertime.js",
5
5
  "dependencies": {
6
6
  "@cypress/xvfb": "1.2.4",