@wdio/utils 9.28.0 → 9.29.1

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/build/index.js CHANGED
@@ -1179,6 +1179,7 @@ var testFrameworkFnWrapper = async function({ executeHooksWithArgs: executeHooks
1179
1179
  beforeArgs.push(hookName);
1180
1180
  }
1181
1181
  await logHookError(`Before${type}`, await executeHooksWithArgs2(`before${type}`, beforeFn, beforeArgs), cid);
1182
+ const identitySnapshot = typeof afterFnArgs === "function" ? afterFnArgs(this) : void 0;
1182
1183
  let result;
1183
1184
  let error;
1184
1185
  let skip = false;
@@ -1208,7 +1209,8 @@ var testFrameworkFnWrapper = async function({ executeHooksWithArgs: executeHooks
1208
1209
  }
1209
1210
  }
1210
1211
  const duration = Date.now() - testStart;
1211
- const afterArgs = afterFnArgs(this);
1212
+ const liveAfterArgs = typeof afterFnArgs === "function" ? afterFnArgs(this) : [];
1213
+ const afterArgs = identitySnapshot && identitySnapshot.length > 0 ? [identitySnapshot[0], ...liveAfterArgs.slice(1)] : liveAfterArgs;
1212
1214
  afterArgs.push({
1213
1215
  retries,
1214
1216
  error,
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/node/manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AA4GxD,wBAAsB,WAAW,CAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,sBAAsB,kCAqB7H;AAED,wBAAgB,YAAY,CAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,sBAAsB,kCAsBxH"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/node/manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AA0GxD,wBAAsB,WAAW,CAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,sBAAsB,kCAc7H;AAED,wBAAgB,YAAY,CAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,sBAAsB,kCAsBxH"}
@@ -1,8 +1,8 @@
1
1
  import cp from 'node:child_process';
2
2
  import { type SafaridriverOptions as SafaridriverParameters } from 'safaridriver';
3
3
  import { type GeckodriverParameters } from 'geckodriver';
4
- import { type EdgedriverParameters } from 'edgedriver';
5
4
  import type { InstallOptions } from '@puppeteer/browsers';
5
+ import type { EdgedriverParameters } from 'edgedriver';
6
6
  import type { Capabilities } from '@wdio/types';
7
7
  export type ChromedriverParameters = (Partial<InstallOptions> & Omit<EdgedriverParameters, 'port' | 'edgeDriverVersion' | 'customEdgeDriverPath'> & Pick<GeckodriverParameters, 'spawnOpts'>);
8
8
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"startWebDriver.d.ts","sourceRoot":"","sources":["../../src/node/startWebDriver.ts"],"names":[],"mappings":"AAGA,OAAO,EAAyB,MAAM,oBAAoB,CAAA;AAQ1D,OAAO,EAA8B,KAAK,mBAAmB,IAAI,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAC7G,OAAO,EAA6B,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACnF,OAAO,EAA0C,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAC9F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAM/C,MAAM,MAAM,sBAAsB,GAAG,CACjC,OAAO,CAAC,cAAc,CAAC,GACvB,IAAI,CAAC,oBAAoB,EAAE,MAAM,GAAG,mBAAmB,GAAG,sBAAsB,CAAC,GACjF,IAAI,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAC3C,CAAA;AACD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,WAAW,CAAC;QAClB,UAAU,mBAAoB,SAAQ,sBAAsB;SAAI;QAChE,UAAU,kBAAmB,SAAQ,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC;SAAI;QAC5E,UAAU,iBAAkB,SAAQ,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC;SAAI;QAC1E,UAAU,mBAAoB,SAAQ,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC;SAAI;KACjF;CACJ;AAMD,wBAAsB,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,wCA+LtE"}
1
+ {"version":3,"file":"startWebDriver.d.ts","sourceRoot":"","sources":["../../src/node/startWebDriver.ts"],"names":[],"mappings":"AAGA,OAAO,EAAyB,MAAM,oBAAoB,CAAA;AAQ1D,OAAO,EAA8B,KAAK,mBAAmB,IAAI,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAC7G,OAAO,EAA6B,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAM/C,MAAM,MAAM,sBAAsB,GAAG,CACjC,OAAO,CAAC,cAAc,CAAC,GACvB,IAAI,CAAC,oBAAoB,EAAE,MAAM,GAAG,mBAAmB,GAAG,sBAAsB,CAAC,GACjF,IAAI,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAC3C,CAAA;AACD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,WAAW,CAAC;QAClB,UAAU,mBAAoB,SAAQ,sBAAsB;SAAI;QAChE,UAAU,kBAAmB,SAAQ,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC;SAAI;QAC5E,UAAU,iBAAkB,SAAQ,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC;SAAI;QAC1E,UAAU,mBAAoB,SAAQ,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC;SAAI;KACjF;CACJ;AAMD,wBAAsB,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,wCAiMtE"}
@@ -1,5 +1,7 @@
1
1
  import type { EdgedriverParameters } from 'edgedriver';
2
2
  import type { Options } from '@wdio/types';
3
+ export declare const DEFAULT_EDGEDRIVER_CDN_URL = "https://msedgedriver.microsoft.com";
4
+ export declare function setDefaultEdgedriverCdnUrl(): void;
3
5
  /**
4
6
  * Helper utility to check file access
5
7
  * @param {string} file file to check access for
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/node/utils.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAK1C;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,YAWtC,CAAA;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,oBAAoB,YAYvD;AAED,wBAAgB,sBAAsB,CAAC,UAAU,CAAC,EAAE,MAAM,sBA6BzD;AAED,wBAAsB,uBAAuB,CAAC,WAAW,CAAC,EAAE,MAAM,+BAyBjE;AAGD,eAAO,MAAM,wBAAwB,GAAI,UAAU,MAAM,EAAE,iBAAiB,MAAM,EAAE,YAAY,MAAM,SAOrG,CAAA;AAgCD,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,YAAY;;;;;;GA4G3F;AAED,wBAAgB,gBAAgB,CAAE,IAAI,EAAE,WAAW,CAAC,YAAY,oGAS/D;AAED,wBAAgB,WAAW,CAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,YAAY,UAGxG;AAED,wBAAgB,yBAAyB,CAAC,WAAW,EAAC,MAAM,UAM3D;AAED,wBAAsB,iBAAiB,CAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM;;GAgDhF;AAED,wBAAgB,gBAAgB,CAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,mBAEzE;AAED,wBAAgB,eAAe,CAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,mBAExE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,CAAC,YAAY;;;;;;EAIlE"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/node/utils.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAI1C,eAAO,MAAM,0BAA0B,uCAAuC,CAAA;AAG9E,wBAAgB,0BAA0B,SAKzC;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,YAWtC,CAAA;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,oBAAoB,YAYvD;AAED,wBAAgB,sBAAsB,CAAC,UAAU,CAAC,EAAE,MAAM,sBA6BzD;AAED,wBAAsB,uBAAuB,CAAC,WAAW,CAAC,EAAE,MAAM,+BAyBjE;AAGD,eAAO,MAAM,wBAAwB,GAAI,UAAU,MAAM,EAAE,iBAAiB,MAAM,EAAE,YAAY,MAAM,SAOrG,CAAA;AAgCD,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,YAAY;;;;;;GA4G3F;AAED,wBAAgB,gBAAgB,CAAE,IAAI,EAAE,WAAW,CAAC,YAAY,oGAS/D;AAED,wBAAgB,WAAW,CAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,YAAY,UAGxG;AAED,wBAAgB,yBAAyB,CAAC,WAAW,EAAC,MAAM,UAM3D;AAED,wBAAsB,iBAAiB,CAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM;;GAgDhF;AAED,wBAAgB,gBAAgB,CAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,mBAEzE;AAED,wBAAsB,eAAe,CAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,mBAI9E;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,CAAC,YAAY;;;;;;EAIlE"}
package/build/node.js CHANGED
@@ -10,7 +10,6 @@ import split2 from "split2";
10
10
  import { deepmerge } from "deepmerge-ts";
11
11
  import { start as startSafaridriver } from "safaridriver";
12
12
  import { start as startGeckodriver } from "geckodriver";
13
- import { start as startEdgedriver, findEdgePath } from "edgedriver";
14
13
 
15
14
  // src/node/utils.ts
16
15
  import os from "node:os";
@@ -30,10 +29,17 @@ import {
30
29
  computeExecutablePath
31
30
  } from "@puppeteer/browsers";
32
31
  import { download as downloadGeckodriver } from "geckodriver";
33
- import { download as downloadEdgedriver } from "edgedriver";
34
32
  import { locateChrome, locateFirefox, locateApp } from "locate-app";
35
33
  var log = logger("webdriver");
36
34
  var EXCLUDED_PARAMS = ["version", "help"];
35
+ var DEFAULT_EDGEDRIVER_CDN_URL = "https://msedgedriver.microsoft.com";
36
+ var LEGACY_EDGEDRIVER_CDN_URL = "https://msedgedriver.azureedge.net";
37
+ function setDefaultEdgedriverCdnUrl() {
38
+ const edgedriverCdnUrl = process.env.EDGEDRIVER_CDNURL?.replace(/\/+$/, "");
39
+ if (!edgedriverCdnUrl || edgedriverCdnUrl === LEGACY_EDGEDRIVER_CDN_URL) {
40
+ process.env.EDGEDRIVER_CDNURL = DEFAULT_EDGEDRIVER_CDN_URL;
41
+ }
42
+ }
37
43
  var canAccess = (file) => {
38
44
  if (!file) {
39
45
  return false;
@@ -248,7 +254,9 @@ async function setupChromedriver(cacheDir, driverVersion) {
248
254
  function setupGeckodriver(cacheDir, driverVersion) {
249
255
  return downloadGeckodriver(driverVersion, cacheDir);
250
256
  }
251
- function setupEdgedriver(cacheDir, driverVersion) {
257
+ async function setupEdgedriver(cacheDir, driverVersion) {
258
+ setDefaultEdgedriverCdnUrl();
259
+ const { download: downloadEdgedriver } = await import("edgedriver");
252
260
  return downloadEdgedriver(driverVersion, cacheDir);
253
261
  }
254
262
  function generateDefaultPrefs(caps) {
@@ -385,6 +393,8 @@ If you like to run a local browser session make sure to pick from one of the fol
385
393
  if (binary) {
386
394
  edgedriverOptions.customEdgeDriverPath = binary;
387
395
  }
396
+ setDefaultEdgedriverCdnUrl();
397
+ const { start: startEdgedriver, findEdgePath } = await import("edgedriver");
388
398
  driver = "EdgeDriver";
389
399
  driverProcess = await startEdgedriver({ ...edgedriverOptions, cacheDir, port, allowedIps: ["0.0.0.0"] }).catch((err) => {
390
400
  log2.warn(`Couldn't start EdgeDriver: ${err.message}, retry ...`);
@@ -426,7 +436,6 @@ If you like to run a local browser session make sure to pick from one of the fol
426
436
  import logger3 from "@wdio/logger";
427
437
  var log3 = logger3("@wdio/utils");
428
438
  var UNDEFINED_BROWSER_VERSION = null;
429
- var firefoxChannels = ["stable", "latest"];
430
439
  function mapCapabilities(options, caps, task, taskItemLabel) {
431
440
  const capabilitiesToRequireSetup = (Array.isArray(caps) ? caps.map((cap) => {
432
441
  const w3cCaps = cap;
@@ -489,8 +498,8 @@ async function setupDriver(options, caps) {
489
498
  if (isEdge(cap.browserName)) {
490
499
  return setupEdgedriver(cacheDir, cap.browserVersion);
491
500
  } else if (isFirefox(cap.browserName)) {
492
- const version = firefoxChannels.includes(cap.browserVersion ?? "") ? void 0 : cap.browserVersion;
493
- return setupGeckodriver(cacheDir, version);
501
+ const driverVersion = cap["wdio:geckodriverOptions"]?.geckoDriverVersion;
502
+ return setupGeckodriver(cacheDir, driverVersion);
494
503
  } else if (isChrome(cap.browserName)) {
495
504
  return setupChromedriver(cacheDir, cap.browserVersion);
496
505
  }
@@ -1 +1 @@
1
- {"version":3,"file":"testFnWrapper.d.ts","sourceRoot":"","sources":["../../src/test-framework/testFnWrapper.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACR,cAAc,EACd,YAAY,EACZ,eAAe,EACf,cAAc,EACjB,MAAM,YAAY,CAAA;AAEnB,OAAO,CAAC,MAAM,CAAC;IAGX,IAAI,kCAAkC,EAAE,GAAG,GAAG,SAAS,CAAA;IAEvD,IAAI,kBAAkB,EAAE,GAAG,GAAG,SAAS,CAAA;CAC1C;AAUD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,aAAa,GACtB,MAAM,OAAO,EACb,GAAG,MAAM,CACL,MAAM,EACN,YAAY,EACZ,eAAe,CAAC,OAAO,CAAC,EACxB,cAAc,CAAC,OAAO,CAAC,EACvB,MAAM,EACN,MAAM,EACN,MAAM,CAAC,EACP,MAAM,CAAC,CACV,iBAGJ,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,sBAAsB,GAC/B,MAAM,OAAO,EACb,wCAAwC,cAAc,EACtD,MAAM,MAAM,EACZ,wBAAwB,YAAY,EACpC,4BAA4B,eAAe,CAAC,OAAO,CAAC,EACpD,0BAA0B,cAAc,CAAC,OAAO,CAAC,EACjD,KAAK,MAAM,EACX,mBAAc,EACd,WAAW,MAAM,EACjB,UAAU,MAAM,iBAmEnB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,KAAG,MAMhD,CAAA"}
1
+ {"version":3,"file":"testFnWrapper.d.ts","sourceRoot":"","sources":["../../src/test-framework/testFnWrapper.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACR,cAAc,EACd,YAAY,EACZ,eAAe,EACf,cAAc,EACjB,MAAM,YAAY,CAAA;AAEnB,OAAO,CAAC,MAAM,CAAC;IAGX,IAAI,kCAAkC,EAAE,GAAG,GAAG,SAAS,CAAA;IAEvD,IAAI,kBAAkB,EAAE,GAAG,GAAG,SAAS,CAAA;CAC1C;AAUD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,aAAa,GACtB,MAAM,OAAO,EACb,GAAG,MAAM,CACL,MAAM,EACN,YAAY,EACZ,eAAe,CAAC,OAAO,CAAC,EACxB,cAAc,CAAC,OAAO,CAAC,EACvB,MAAM,EACN,MAAM,EACN,MAAM,CAAC,EACP,MAAM,CAAC,CACV,iBAGJ,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,sBAAsB,GAC/B,MAAM,OAAO,EACb,wCAAwC,cAAc,EACtD,MAAM,MAAM,EACZ,wBAAwB,YAAY,EACpC,4BAA4B,eAAe,CAAC,OAAO,CAAC,EACpD,0BAA0B,cAAc,CAAC,OAAO,CAAC,EACjD,KAAK,MAAM,EACX,mBAAc,EACd,WAAW,MAAM,EACjB,UAAU,MAAM,iBAmGnB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,KAAG,MAMhD,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wdio/utils",
3
- "version": "9.28.0",
3
+ "version": "9.29.1",
4
4
  "description": "A WDIO helper utility to provide several utility functions used across the project.",
5
5
  "author": "Christian Bromann <mail@bromann.dev>",
6
6
  "homepage": "https://github.com/webdriverio/webdriverio/tree/main/packages/wdio-utils",
@@ -38,8 +38,8 @@
38
38
  },
39
39
  "dependencies": {
40
40
  "@puppeteer/browsers": "^2.2.0",
41
- "@wdio/logger": "9.18.0",
42
- "@wdio/types": "9.28.0",
41
+ "@wdio/logger": "9.29.1",
42
+ "@wdio/types": "9.29.1",
43
43
  "decamelize": "^6.0.0",
44
44
  "deepmerge-ts": "^7.0.3",
45
45
  "edgedriver": "^6.1.2",
@@ -55,5 +55,5 @@
55
55
  "publishConfig": {
56
56
  "access": "public"
57
57
  },
58
- "gitHead": "66baa0049385cd9161677e1e6728fde90db56f35"
58
+ "gitHead": "cea4a759f7e78c798e7dd1a0794ae4aeec5acdbf"
59
59
  }