@wdio/utils 8.16.15 → 8.16.22

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.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/driver/utils.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAOxD,wBAAgB,WAAW,CAAC,MAAM,EAAE,oBAAoB,YAYvD;AAED,wBAAgB,sBAAsB,CAAC,UAAU,CAAC,EAAE,MAAM,sBAqBzD;AAED,wBAAsB,uBAAuB,CAAC,WAAW,CAAC,EAAE,MAAM,+BAiBjE;AAGD,eAAO,MAAM,wBAAwB,aAAc,MAAM,mBAAmB,MAAM,cAAc,MAAM,SAOrG,CAAA;AAED,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,YAAY;;;;;;GA6E5F;AAED,wBAAgB,gBAAgB,CAAE,IAAI,EAAE,YAAY,CAAC,YAAY,oGAShE;AAED,wBAAgB,WAAW,CAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,YAAY,UAGzG;AAED,wBAAsB,iBAAiB,CAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM;;GA8DhF;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;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC,WAQ/H;AAED,wBAAgB,QAAQ,CAAE,WAAW,CAAC,EAAE,MAAM,WAE7C;AACD,wBAAgB,QAAQ,CAAE,WAAW,CAAC,EAAE,MAAM,WAE7C;AACD,wBAAgB,SAAS,CAAE,WAAW,CAAC,EAAE,MAAM,WAE9C;AACD,wBAAgB,MAAM,CAAE,WAAW,CAAC,EAAE,MAAM,WAE3C"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/driver/utils.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAOxD,wBAAgB,WAAW,CAAC,MAAM,EAAE,oBAAoB,YAYvD;AAED,wBAAgB,sBAAsB,CAAC,UAAU,CAAC,EAAE,MAAM,sBAqBzD;AAED,wBAAsB,uBAAuB,CAAC,WAAW,CAAC,EAAE,MAAM,+BAiBjE;AAGD,eAAO,MAAM,wBAAwB,aAAc,MAAM,mBAAmB,MAAM,cAAc,MAAM,SAOrG,CAAA;AAoBD,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,YAAY;;;;;;GA6E5F;AAED,wBAAgB,gBAAgB,CAAE,IAAI,EAAE,YAAY,CAAC,YAAY,oGAShE;AAED,wBAAgB,WAAW,CAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,YAAY,UAGzG;AAED,wBAAsB,iBAAiB,CAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM;;GAgEhF;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;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC,WAQ/H;AAED,wBAAgB,QAAQ,CAAE,WAAW,CAAC,EAAE,MAAM,WAE7C;AACD,wBAAgB,QAAQ,CAAE,WAAW,CAAC,EAAE,MAAM,WAE7C;AACD,wBAAgB,SAAS,CAAE,WAAW,CAAC,EAAE,MAAM,WAE9C;AACD,wBAAgB,MAAM,CAAE,WAAW,CAAC,EAAE,MAAM,WAE3C"}
@@ -67,9 +67,26 @@ export const downloadProgressCallback = (artifact, downloadedBytes, totalBytes)
67
67
  return;
68
68
  }
69
69
  const percentage = ((downloadedBytes / totalBytes) * 100).toFixed(2);
70
- log.info(`Downloading ${artifact} ${percentage}%`);
70
+ log.progress(`Downloading ${artifact} ${percentage}%`);
71
71
  lastTimeCalled = Date.now();
72
72
  };
73
+ /**
74
+ * Installs a package using the provided installation options and clears the progress log afterward.
75
+ *
76
+ * @description
77
+ * When installing a package, progress updates are logged using `log.progress`.
78
+ * To ensure the formatting of subsequent logs is not disrupted, it's essential to clear the progress log after the installation is complete.
79
+ * This method combines the installation step and the clearing of the progress log.
80
+ *
81
+ * @see {@link https://github.com/webdriverio/webdriverio/blob/main/packages/wdio-logger/README.md#custom-log-levels} for more information.
82
+ *
83
+ * @param {InstallOptions & { unpack?: true | undefined }} args - An object containing installation options and an optional `unpack` flag.
84
+ * @returns {Promise<void>} A Promise that resolves once the package is installed and clear the progress log.
85
+ */
86
+ const _install = async (args) => {
87
+ await install(args);
88
+ log.progress('');
89
+ };
73
90
  export async function setupPuppeteerBrowser(cacheDir, caps) {
74
91
  caps.browserName = caps.browserName?.toLowerCase();
75
92
  const browserName = caps.browserName === Browser.FIREFOX ? Browser.FIREFOX : Browser.CHROME;
@@ -133,7 +150,7 @@ export async function setupPuppeteerBrowser(cacheDir, caps) {
133
150
  throw new Error(`Couldn't find a matching ${browserName} browser for tag "${buildId}" on platform "${platform}"`);
134
151
  }
135
152
  log.info(`Setting up ${browserName} v${buildId}`);
136
- await install(installOptions);
153
+ await _install(installOptions);
137
154
  const executablePath = computeExecutablePath(installOptions);
138
155
  return { executablePath, browserVersion: buildId };
139
156
  }
@@ -175,7 +192,8 @@ export async function setupChromedriver(cacheDir, driverVersion) {
175
192
  downloadProgressCallback: (downloadedBytes, totalBytes) => downloadProgressCallback('Chromedriver', downloadedBytes, totalBytes)
176
193
  };
177
194
  try {
178
- await install({ ...chromedriverInstallOpts, buildId });
195
+ await _install({ ...chromedriverInstallOpts, buildId });
196
+ log.info(`Download of Chromedriver v${buildId} was successful`);
179
197
  }
180
198
  catch (err) {
181
199
  /**
@@ -197,7 +215,8 @@ export async function setupChromedriver(cacheDir, driverVersion) {
197
215
  knownGoodVersion = await resolveBuildId(Browser.CHROMEDRIVER, platform, buildId);
198
216
  }
199
217
  loggedBuildId = knownGoodVersion;
200
- await install({ ...chromedriverInstallOpts, buildId: loggedBuildId });
218
+ await _install({ ...chromedriverInstallOpts, buildId: loggedBuildId });
219
+ log.info(`Download of Chromedriver v${loggedBuildId} was successful`);
201
220
  executablePath = computeExecutablePath({
202
221
  browser: Browser.CHROMEDRIVER,
203
222
  buildId: loggedBuildId,
@@ -9,8 +9,9 @@ import type { WrapperMethods, SpecFunction, BeforeHookParam, AfterHookParam } fr
9
9
  * @param {string} cid cid
10
10
  * @param {number} repeatTest number of retries if test fails
11
11
  * @return {*} specFn result
12
+ * @param {string} hookName the hook name
12
13
  */
13
- export declare const testFnWrapper: (this: unknown, args_0: string, args_1: SpecFunction, args_2: BeforeHookParam<unknown>, args_3: AfterHookParam<unknown>, args_4: string, args_5: number) => Promise<unknown>;
14
+ export declare const testFnWrapper: (this: unknown, args_0: string, args_1: SpecFunction, args_2: BeforeHookParam<unknown>, args_3: AfterHookParam<unknown>, args_4: string, args_5: number, args_6?: string | undefined) => Promise<unknown>;
14
15
  /**
15
16
  * wraps test framework spec/hook function with WebdriverIO before/after hooks
16
17
  *
@@ -22,8 +23,9 @@ export declare const testFnWrapper: (this: unknown, args_0: string, args_1: Spec
22
23
  * @param {string} cid cid
23
24
  * @param {number} repeatTest number of retries if test fails
24
25
  * @return {*} specFn result
26
+ * @param {string} hookName the hook name
25
27
  */
26
- export declare const testFrameworkFnWrapper: (this: unknown, { executeHooksWithArgs, executeAsync }: WrapperMethods, type: string, { specFn, specFnArgs }: SpecFunction, { beforeFn, beforeFnArgs }: BeforeHookParam<unknown>, { afterFn, afterFnArgs }: AfterHookParam<unknown>, cid: string, repeatTest?: number) => Promise<unknown>;
28
+ export declare const testFrameworkFnWrapper: (this: unknown, { executeHooksWithArgs, executeAsync }: WrapperMethods, type: string, { specFn, specFnArgs }: SpecFunction, { beforeFn, beforeFnArgs }: BeforeHookParam<unknown>, { afterFn, afterFnArgs }: AfterHookParam<unknown>, cid: string, repeatTest?: number, hookName?: string) => Promise<unknown>;
27
29
  /**
28
30
  * Filter out internal stacktraces. exporting to allow testing of the function
29
31
  * @param {string} stack Stacktrace
@@ -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;AASnB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,SAChB,OAAO,8JAWhB,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,SACzB,OAAO,0CAC2B,cAAc,QAChD,MAAM,0BACY,YAAY,8BACR,gBAAgB,OAAO,CAAC,4BAC1B,eAAe,OAAO,CAAC,OAC5C,MAAM,0CAqCd,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,UAAW,MAAM,KAAG,MAKhD,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;AASnB;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,SAChB,OAAO,2LAYhB,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,SACzB,OAAO,0CAC2B,cAAc,QAChD,MAAM,0BACY,YAAY,8BACR,gBAAgB,OAAO,CAAC,4BAC1B,eAAe,OAAO,CAAC,OAC5C,MAAM,kCAEA,MAAM,qBA0CpB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,UAAW,MAAM,KAAG,MAKhD,CAAA"}
@@ -16,6 +16,7 @@ const STACKTRACE_FILTER = [
16
16
  * @param {string} cid cid
17
17
  * @param {number} repeatTest number of retries if test fails
18
18
  * @return {*} specFn result
19
+ * @param {string} hookName the hook name
19
20
  */
20
21
  export const testFnWrapper = function (...args) {
21
22
  return testFrameworkFnWrapper.call(this, { executeHooksWithArgs, executeAsync }, ...args);
@@ -31,10 +32,14 @@ export const testFnWrapper = function (...args) {
31
32
  * @param {string} cid cid
32
33
  * @param {number} repeatTest number of retries if test fails
33
34
  * @return {*} specFn result
35
+ * @param {string} hookName the hook name
34
36
  */
35
- export const testFrameworkFnWrapper = async function ({ executeHooksWithArgs, executeAsync }, type, { specFn, specFnArgs }, { beforeFn, beforeFnArgs }, { afterFn, afterFnArgs }, cid, repeatTest = 0) {
37
+ export const testFrameworkFnWrapper = async function ({ executeHooksWithArgs, executeAsync }, type, { specFn, specFnArgs }, { beforeFn, beforeFnArgs }, { afterFn, afterFnArgs }, cid, repeatTest = 0, hookName) {
36
38
  const retries = { attempts: 0, limit: repeatTest };
37
39
  const beforeArgs = beforeFnArgs(this);
40
+ if (type === 'Hook' && hookName) {
41
+ beforeArgs.push(hookName);
42
+ }
38
43
  await logHookError(`Before${type}`, await executeHooksWithArgs(`before${type}`, beforeFn, beforeArgs), cid);
39
44
  let result;
40
45
  let error;
@@ -57,6 +62,9 @@ export const testFrameworkFnWrapper = async function ({ executeHooksWithArgs, ex
57
62
  duration,
58
63
  passed: !error
59
64
  });
65
+ if (type === 'Hook' && hookName) {
66
+ afterArgs.push(hookName);
67
+ }
60
68
  await logHookError(`After${type}`, await executeHooksWithArgs(`after${type}`, afterFn, [...afterArgs]), cid);
61
69
  if (error && !error.matcherName) {
62
70
  throw error;
@@ -1 +1 @@
1
- {"version":3,"file":"testInterfaceWrapper.d.ts","sourceRoot":"","sources":["../../src/test-framework/testInterfaceWrapper.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EACR,UAAU,EAIV,aAAa,EAChB,MAAM,YAAY,CAAA;AAInB;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,OAAO,SACV,OAAO,UACL,QAAQ,UACR,QAAQ,YACN,QAAQ,GAAG,QAAQ,EAAE,gBACjB,WAAW,OAAO,CAAC,WACxB,QAAQ,GAAG,QAAQ,EAAE,eACjB,WAAW,OAAO,CAAC,OAC3B,MAAM,cACC,MAAM,WACT,MAAM,QAqClB,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO,SACV,OAAO,aACF,MAAM,UACT,QAAQ,UACR,QAAQ,YACN,QAAQ,GAAG,QAAQ,EAAE,gBACjB,WAAW,OAAO,CAAC,WACxB,QAAQ,GAAG,QAAQ,EAAE,eACjB,WAAW,OAAO,CAAC,OAC3B,MAAM,cACC,MAAM,WACT,MAAM,QAqClB,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,SACnB,OAAO,UACL,QAAQ,UACR,OAAO,YACL,QAAQ,GAAG,QAAQ,EAAE,gBACjB,WAAW,OAAO,CAAC,WACxB,QAAQ,GAAG,QAAQ,EAAE,eACjB,WAAW,OAAO,CAAC,OAC3B,MAAM,wBAEwB,aAAa,QAkEnD,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,oBAAoB,SACvB,OAAO,UACL,OAAO,YACL,QAAQ,GAAG,QAAQ,EAAE,gBACjB,WAAW,OAAO,CAAC,WACxB,QAAQ,GAAG,QAAQ,EAAE,eACjB,WAAW,OAAO,CAAC,UACxB,MAAM,OACT,MAAM,oCAcd,CAAA"}
1
+ {"version":3,"file":"testInterfaceWrapper.d.ts","sourceRoot":"","sources":["../../src/test-framework/testInterfaceWrapper.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EACR,UAAU,EAIV,aAAa,EAChB,MAAM,YAAY,CAAA;AAInB;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,OAAO,SACV,OAAO,UACL,QAAQ,UACR,QAAQ,YACN,QAAQ,GAAG,QAAQ,EAAE,gBACjB,WAAW,OAAO,CAAC,WACxB,QAAQ,GAAG,QAAQ,EAAE,eACjB,WAAW,OAAO,CAAC,OAC3B,MAAM,cACC,MAAM,WACT,MAAM,QAuClB,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO,SACV,OAAO,aACF,MAAM,UACT,QAAQ,UACR,QAAQ,YACN,QAAQ,GAAG,QAAQ,EAAE,gBACjB,WAAW,OAAO,CAAC,WACxB,QAAQ,GAAG,QAAQ,EAAE,eACjB,WAAW,OAAO,CAAC,OAC3B,MAAM,cACC,MAAM,WACT,MAAM,QAqClB,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,SACnB,OAAO,UACL,QAAQ,UACR,OAAO,YACL,QAAQ,GAAG,QAAQ,EAAE,gBACjB,WAAW,OAAO,CAAC,WACxB,QAAQ,GAAG,QAAQ,EAAE,eACjB,WAAW,OAAO,CAAC,OAC3B,MAAM,wBAEwB,aAAa,QAkEnD,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,oBAAoB,SACvB,OAAO,UACL,OAAO,YACL,QAAQ,GAAG,QAAQ,EAAE,gBACjB,WAAW,OAAO,CAAC,WACxB,QAAQ,GAAG,QAAQ,EAAE,eACjB,WAAW,OAAO,CAAC,UACxB,MAAM,OACT,MAAM,oCAcd,CAAA"}
@@ -32,7 +32,7 @@ export const runHook = function (hookFn, origFn, beforeFn, beforeFnArgs, afterFn
32
32
  }, {
33
33
  afterFn,
34
34
  afterFnArgs
35
- }, cid, repeatTest);
35
+ }, cid, repeatTest, origFn.name);
36
36
  };
37
37
  /**
38
38
  * make sure Mocha grabs the correct hook function body
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wdio/utils",
3
- "version": "8.16.15",
3
+ "version": "8.16.22",
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",
@@ -31,8 +31,8 @@
31
31
  },
32
32
  "dependencies": {
33
33
  "@puppeteer/browsers": "^1.6.0",
34
- "@wdio/logger": "8.11.0",
35
- "@wdio/types": "8.16.12",
34
+ "@wdio/logger": "8.16.17",
35
+ "@wdio/types": "8.16.22",
36
36
  "decamelize": "^6.0.0",
37
37
  "deepmerge-ts": "^5.1.0",
38
38
  "edgedriver": "^5.3.5",
@@ -48,5 +48,5 @@
48
48
  "publishConfig": {
49
49
  "access": "public"
50
50
  },
51
- "gitHead": "5adda88a438d57b86f8e050299371b3095c4295c"
51
+ "gitHead": "54b6b1723b012e6792941199a325aaea8ebe7356"
52
52
  }