@wdio/utils 7.19.0 → 7.19.3
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/shim.d.ts.map +1 -1
- package/build/shim.js +9 -0
- package/build/test-framework/testFnWrapper.d.ts +6 -0
- package/build/test-framework/testFnWrapper.d.ts.map +1 -1
- package/build/test-framework/testFnWrapper.js +22 -1
- package/build/utils.d.ts.map +1 -1
- package/build/utils.js +5 -0
- package/package.json +3 -3
package/build/shim.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shim.d.ts","sourceRoot":"","sources":["../src/shim.ts"],"names":[],"mappings":"AAOA,QAAA,IAAI,kBAAkB,SAAQ,CAAA;AAC9B,QAAA,IAAI,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,KAAK,OAAO,CAAA;AAEhI,UAAU,OAAO;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CACnB;AAUD,OAAO,CAAC,MAAM,CAAC;IACX,IAAI,kBAAkB,EAAE,OAAO,CAAA;IAC/B,IAAI,OAAO,EAAE,GAAG,CAAA;IAChB,IAAI,WAAW,EAAE,GAAG,CAAA;CACvB;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM,CAAC;QACb,UAAU,MAAM;YACZ,MAAM,EAAE,GAAG,CAAA;YACX,WAAW,EAAE,GAAG,CAAA;SACnB;KACJ;CACJ;AAeD,wBAAgB,eAAe,CAAE,MAAM,CAAC,EAAE,GAAG,EAAE,WAAW,WAAa,OAgBtE;AAgBD,eAAO,IAAI,QAAQ,SAAQ,CAAA;AAC3B,eAAO,IAAI,SAAS,SAAQ,CAAA;AAoB5B,QAAA,IAAI,oBAAoB,gBAAyD,MAAM,UAAS,QAAQ,GAAG,QAAQ,EAAE,SAAa,GAAG,EAAE,2BA+CtI,CAAA;AAED,QAAA,IAAI,mBAAmB,OAAiB,QAAQ,YACrB,GAAG,WAAW,GAAG,EAAE,iBAI7C,CAAA;AAED;;;;GAIG;AACH,QAAA,IAAI,WAAW,mBAAwC,MAAM,MAAM,QAAQ,eAAa,GAAG,eAmL1F,CAAA;AAED;;;;;;;GAOG;AACH,iBAAe,aAAa,CAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,GAAG,EAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAwB3G;AAED;;;;;;;GAOG;AACH,iBAAe,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,GAAG,EAAO,GAAG,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"shim.d.ts","sourceRoot":"","sources":["../src/shim.ts"],"names":[],"mappings":"AAOA,QAAA,IAAI,kBAAkB,SAAQ,CAAA;AAC9B,QAAA,IAAI,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,KAAK,OAAO,CAAA;AAEhI,UAAU,OAAO;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CACnB;AAUD,OAAO,CAAC,MAAM,CAAC;IACX,IAAI,kBAAkB,EAAE,OAAO,CAAA;IAC/B,IAAI,OAAO,EAAE,GAAG,CAAA;IAChB,IAAI,WAAW,EAAE,GAAG,CAAA;CACvB;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM,CAAC;QACb,UAAU,MAAM;YACZ,MAAM,EAAE,GAAG,CAAA;YACX,WAAW,EAAE,GAAG,CAAA;SACnB;KACJ;CACJ;AAeD,wBAAgB,eAAe,CAAE,MAAM,CAAC,EAAE,GAAG,EAAE,WAAW,WAAa,OAgBtE;AAgBD,eAAO,IAAI,QAAQ,SAAQ,CAAA;AAC3B,eAAO,IAAI,SAAS,SAAQ,CAAA;AAoB5B,QAAA,IAAI,oBAAoB,gBAAyD,MAAM,UAAS,QAAQ,GAAG,QAAQ,EAAE,SAAa,GAAG,EAAE,2BA+CtI,CAAA;AAED,QAAA,IAAI,mBAAmB,OAAiB,QAAQ,YACrB,GAAG,WAAW,GAAG,EAAE,iBAI7C,CAAA;AAED;;;;GAIG;AACH,QAAA,IAAI,WAAW,mBAAwC,MAAM,MAAM,QAAQ,eAAa,GAAG,eAmL1F,CAAA;AAED;;;;;;;GAOG;AACH,iBAAe,aAAa,CAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,GAAG,EAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAwB3G;AAED;;;;;;;GAOG;AACH,iBAAe,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,GAAG,EAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAiDzG;AAED,QAAA,IAAI,WAAW,sBAAgB,CAAA;AAE/B;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAE,EAAE,EAAE,QAAQ,UACjB,OAAO,WAAW,GAAG,EAAE,SA0BjD;AAeD,OAAO,EACH,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,OAAO,EACV,CAAA"}
|
package/build/shim.js
CHANGED
|
@@ -337,6 +337,15 @@ async function executeAsync(fn, retries, args = []) {
|
|
|
337
337
|
else {
|
|
338
338
|
exports.asyncSpec = asyncSpecBefore;
|
|
339
339
|
}
|
|
340
|
+
/**
|
|
341
|
+
* if test fail in jasmine (e.g. timeout) the finally statement
|
|
342
|
+
* would not be executed in async mode where fibers is not supported
|
|
343
|
+
*/
|
|
344
|
+
const nodeVersion = parseInt(process.version.slice(1).split('.').shift() || '0', 10);
|
|
345
|
+
if (isJasmine && nodeVersion >= 16) {
|
|
346
|
+
// @ts-ignore
|
|
347
|
+
global.expect = expectSync;
|
|
348
|
+
}
|
|
340
349
|
return await result;
|
|
341
350
|
}
|
|
342
351
|
catch (err) {
|
|
@@ -24,4 +24,10 @@ export declare const testFnWrapper: (this: unknown, args_0: string, args_1: Spec
|
|
|
24
24
|
* @return {*} specFn result
|
|
25
25
|
*/
|
|
26
26
|
export declare const testFrameworkFnWrapper: (this: unknown, { executeHooksWithArgs, executeAsync, runSync }: WrapperMethods, type: string, { specFn, specFnArgs }: SpecFunction, { beforeFn, beforeFnArgs }: BeforeHookParam<unknown>, { afterFn, afterFnArgs }: AfterHookParam<unknown>, cid: string, repeatTest?: number) => Promise<unknown>;
|
|
27
|
+
/**
|
|
28
|
+
* Filter out internal stacktraces. exporting to allow testing of the function
|
|
29
|
+
* @param {string} stack Stacktrace
|
|
30
|
+
* @returns {string}
|
|
31
|
+
*/
|
|
32
|
+
export declare const filterStackTrace: (stack: string) => string;
|
|
27
33
|
//# sourceMappingURL=testFnWrapper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testFnWrapper.d.ts","sourceRoot":"","sources":["../../src/test-framework/testFnWrapper.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,cAAc,EACd,YAAY,EACZ,eAAe,EACf,cAAc,EAEjB,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"testFnWrapper.d.ts","sourceRoot":"","sources":["../../src/test-framework/testFnWrapper.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,cAAc,EACd,YAAY,EACZ,eAAe,EACf,cAAc,EAEjB,MAAM,SAAS,CAAA;AAShB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,SAChB,OAAO,8JAWhB,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,SACzB,OAAO,mDACoC,cAAc,QACzD,MAAM,0BACY,YAAY,8BACR,gBAAgB,OAAO,CAAC,4BAC1B,eAAe,OAAO,CAAC,OAC5C,MAAM,0CAuDd,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,UAAW,MAAM,KAAG,MAKhD,CAAA"}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.testFrameworkFnWrapper = exports.testFnWrapper = void 0;
|
|
3
|
+
exports.filterStackTrace = exports.testFrameworkFnWrapper = exports.testFnWrapper = void 0;
|
|
4
4
|
const utils_1 = require("../utils");
|
|
5
5
|
const errorHandler_1 = require("./errorHandler");
|
|
6
6
|
const shim_1 = require("../shim");
|
|
7
|
+
const STACKTRACE_FILTER = [
|
|
8
|
+
'node_modules/webdriver/',
|
|
9
|
+
'node_modules/webdriverio/',
|
|
10
|
+
'node_modules/@wdio/',
|
|
11
|
+
'(internal/process/task',
|
|
12
|
+
];
|
|
7
13
|
/**
|
|
8
14
|
* wraps test framework spec/hook function with WebdriverIO before/after hooks
|
|
9
15
|
*
|
|
@@ -52,6 +58,9 @@ const testFrameworkFnWrapper = async function ({ executeHooksWithArgs, executeAs
|
|
|
52
58
|
result = await promise;
|
|
53
59
|
}
|
|
54
60
|
catch (err) {
|
|
61
|
+
if (err.stack) {
|
|
62
|
+
err.stack = (0, exports.filterStackTrace)(err.stack);
|
|
63
|
+
}
|
|
55
64
|
error = err;
|
|
56
65
|
}
|
|
57
66
|
const duration = Date.now() - testStart;
|
|
@@ -78,3 +87,15 @@ const testFrameworkFnWrapper = async function ({ executeHooksWithArgs, executeAs
|
|
|
78
87
|
return result;
|
|
79
88
|
};
|
|
80
89
|
exports.testFrameworkFnWrapper = testFrameworkFnWrapper;
|
|
90
|
+
/**
|
|
91
|
+
* Filter out internal stacktraces. exporting to allow testing of the function
|
|
92
|
+
* @param {string} stack Stacktrace
|
|
93
|
+
* @returns {string}
|
|
94
|
+
*/
|
|
95
|
+
const filterStackTrace = (stack) => {
|
|
96
|
+
return stack
|
|
97
|
+
.split('\n')
|
|
98
|
+
.filter(line => !STACKTRACE_FILTER.some(l => line.includes(l)))
|
|
99
|
+
.join('\n');
|
|
100
|
+
};
|
|
101
|
+
exports.filterStackTrace = filterStackTrace;
|
package/build/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAW,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAW,MAAM,aAAa,CAAA;AAMpD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,gBAAgB,EAAE;IAAE,sBAAsB,CAAC,EAAE;QAAE,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,QAsCzH;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,UA+BrE;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAE,MAAM,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;;;EAWpF;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,WA8B/D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAE,GAAG,EAAE,GAAG,wGAExC;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,aAAa,GAAG,IAAI,CAoCxE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAE,EAAE,EAAE,QAAQ,WAE5C;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAE,IAAI,EAAE,GAAG,EAAE,SAE1C;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,WAanC;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,SAAU,MAAM,YAWrC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,mCAAoD,CAAA"}
|
package/build/utils.js
CHANGED
|
@@ -8,6 +8,7 @@ const fs_1 = __importDefault(require("fs"));
|
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
9
|
const SCREENSHOT_REPLACEMENT = '"<Screenshot[base64]>"';
|
|
10
10
|
const SCRIPT_PLACEHOLDER = '"<Script[base64]>"';
|
|
11
|
+
const REGEX_SCRIPT_NAME = /return \(function (\w+)/;
|
|
11
12
|
/**
|
|
12
13
|
* overwrite native element commands with user defined
|
|
13
14
|
* @param {object} propertiesObject propertiesObject
|
|
@@ -96,6 +97,10 @@ function transformCommandLogResult(result) {
|
|
|
96
97
|
else if (typeof result.script === 'string' && isBase64(result.script)) {
|
|
97
98
|
return SCRIPT_PLACEHOLDER;
|
|
98
99
|
}
|
|
100
|
+
else if (typeof result.script === 'string' && result.script.match(REGEX_SCRIPT_NAME)) {
|
|
101
|
+
const newScript = result.script.match(REGEX_SCRIPT_NAME)[1];
|
|
102
|
+
return { ...result, script: `${newScript}(...) [${Buffer.byteLength(result.script, 'utf-8')} bytes]` };
|
|
103
|
+
}
|
|
99
104
|
return result;
|
|
100
105
|
}
|
|
101
106
|
exports.transformCommandLogResult = transformCommandLogResult;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wdio/utils",
|
|
3
|
-
"version": "7.19.
|
|
3
|
+
"version": "7.19.3",
|
|
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",
|
|
@@ -24,12 +24,12 @@
|
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@wdio/logger": "7.19.0",
|
|
27
|
-
"@wdio/types": "7.19.
|
|
27
|
+
"@wdio/types": "7.19.1",
|
|
28
28
|
"p-iteration": "^1.1.8"
|
|
29
29
|
},
|
|
30
30
|
"publishConfig": {
|
|
31
31
|
"access": "public"
|
|
32
32
|
},
|
|
33
33
|
"types": "./build/index.d.ts",
|
|
34
|
-
"gitHead": "
|
|
34
|
+
"gitHead": "3dfbfaa42879e159327b80315c7df798be54202e"
|
|
35
35
|
}
|