@axe-core/watcher 3.13.1 → 3.14.0-rc.b54f0cc9
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/dist/cypress.d.ts +1 -0
- package/dist/cypress.js +31 -9
- package/dist/cypress.js.map +1 -1
- package/dist/cypressCommands.js +7 -2
- package/dist/cypressCommands.js.map +1 -1
- package/dist/puppeteerWrapping.js +0 -1
- package/dist/puppeteerWrapping.js.map +1 -1
- package/dist/sendResultsToServer.d.ts +2 -0
- package/dist/sendResultsToServer.js +18 -15
- package/dist/sendResultsToServer.js.map +1 -1
- package/dist/utils/constants.js +25 -2
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/initializeSession.d.ts +11 -0
- package/dist/utils/initializeSession.js +64 -0
- package/dist/utils/initializeSession.js.map +1 -0
- package/dist/utils/initializeSession.test.js +183 -0
- package/dist/utils/initializeSession.test.js.map +1 -0
- package/dist/utils/writeVariables.d.ts +15 -4
- package/dist/utils/writeVariables.js +33 -18
- package/dist/utils/writeVariables.js.map +1 -1
- package/dist/utils/writeVariables.test.js +2 -21
- package/dist/utils/writeVariables.test.js.map +1 -1
- package/dist/wdio.js +6 -1
- package/dist/wdio.js.map +1 -1
- package/extension/axe.js +2 -0
- package/extension/axe.js.LICENSE.txt +11 -0
- package/extension/background.js +1 -1
- package/extension/content.js +1 -1
- package/extension/content.js.LICENSE.txt +0 -12
- package/extension/manifest.json +1 -1
- package/package.json +3 -3
- package/dist/utils/validateApiKey.d.ts +0 -7
- package/dist/utils/validateApiKey.js +0 -34
- package/dist/utils/validateApiKey.js.map +0 -1
- package/dist/utils/validateApiKey.test.js +0 -66
- package/dist/utils/validateApiKey.test.js.map +0 -1
- /package/dist/utils/{validateApiKey.test.d.ts → initializeSession.test.d.ts} +0 -0
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
require("mocha");
|
|
7
|
+
const chai_1 = require("chai");
|
|
8
|
+
const sinon_1 = __importDefault(require("sinon"));
|
|
9
|
+
const proxyquire_1 = __importDefault(require("proxyquire"));
|
|
10
|
+
const initializeSession_1 = __importDefault(require("./initializeSession"));
|
|
11
|
+
describe('initializeSession', () => {
|
|
12
|
+
afterEach(sinon_1.default.restore);
|
|
13
|
+
const defaultParams = {
|
|
14
|
+
apiKey: 'abc',
|
|
15
|
+
serverURL: 'http://localhost:3000',
|
|
16
|
+
watcherVersion: '1.0.0',
|
|
17
|
+
sessionID: null,
|
|
18
|
+
buildID: null,
|
|
19
|
+
gitCommitSha: null
|
|
20
|
+
};
|
|
21
|
+
describe('validating input', () => {
|
|
22
|
+
describe('when the API key is missing', () => {
|
|
23
|
+
it('throws an error', () => {
|
|
24
|
+
chai_1.assert.throws(() => {
|
|
25
|
+
//@ts-expect-error - expected missing apiKey
|
|
26
|
+
(0, initializeSession_1.default)({});
|
|
27
|
+
}, 'API key is required');
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
describe('when the server URL is missing', () => {
|
|
31
|
+
it('throws an error', () => {
|
|
32
|
+
chai_1.assert.throws(() => {
|
|
33
|
+
//@ts-expect-error - expected missing serverURL
|
|
34
|
+
(0, initializeSession_1.default)({ apiKey: 'abc' });
|
|
35
|
+
}, 'Server URL is required');
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
describe('when the watcher version is missing', () => {
|
|
39
|
+
it('throws an error', () => {
|
|
40
|
+
chai_1.assert.throws(() => {
|
|
41
|
+
//@ts-expect-error - expected missing watcherVersion
|
|
42
|
+
(0, initializeSession_1.default)({
|
|
43
|
+
apiKey: 'abc',
|
|
44
|
+
serverURL: 'http://localhost:3000'
|
|
45
|
+
});
|
|
46
|
+
}, 'Watcher version is required');
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
describe('when the session ID is not a string', () => {
|
|
50
|
+
it('throws an error', () => {
|
|
51
|
+
chai_1.assert.throws(() => {
|
|
52
|
+
(0, initializeSession_1.default)({
|
|
53
|
+
...defaultParams,
|
|
54
|
+
//@ts-expect-error - expected sessionID to be a string
|
|
55
|
+
sessionID: 123
|
|
56
|
+
});
|
|
57
|
+
}, 'Session ID must be a string');
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
describe('when the build ID is not a string', () => {
|
|
61
|
+
it('throws an error', () => {
|
|
62
|
+
chai_1.assert.throws(() => {
|
|
63
|
+
(0, initializeSession_1.default)({
|
|
64
|
+
...defaultParams,
|
|
65
|
+
//@ts-expect-error - expected buildID to be a string
|
|
66
|
+
buildID: 123
|
|
67
|
+
});
|
|
68
|
+
}, 'Build ID must be a string');
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
describe('when both session ID and build ID are provided', () => {
|
|
72
|
+
it('throws an error', () => {
|
|
73
|
+
chai_1.assert.throws(() => {
|
|
74
|
+
(0, initializeSession_1.default)({
|
|
75
|
+
...defaultParams,
|
|
76
|
+
sessionID: 'abc',
|
|
77
|
+
buildID: '123'
|
|
78
|
+
});
|
|
79
|
+
}, 'Session ID and Build ID are mutually exclusive. `sessionId` is deprecated, please use `buildID` instead');
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
describe('when the git commit SHA is not a string', () => {
|
|
83
|
+
it('throws an error', () => {
|
|
84
|
+
chai_1.assert.throws(() => {
|
|
85
|
+
(0, initializeSession_1.default)({
|
|
86
|
+
...defaultParams,
|
|
87
|
+
//@ts-expect-error - expected gitCommitSha to be a string
|
|
88
|
+
gitCommitSha: 123
|
|
89
|
+
});
|
|
90
|
+
}, 'Git commit SHA must be a string');
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
describe('when the server returns a non-200 response', () => {
|
|
95
|
+
afterEach(sinon_1.default.restore);
|
|
96
|
+
it('throws an error', () => {
|
|
97
|
+
const requestStub = sinon_1.default
|
|
98
|
+
.stub()
|
|
99
|
+
.returns({ statusCode: 500, getBody: () => '{"errors":["boom"]}' });
|
|
100
|
+
const fn = (0, proxyquire_1.default)('./initializeSession', {
|
|
101
|
+
'sync-request': requestStub
|
|
102
|
+
}).default;
|
|
103
|
+
chai_1.assert.throws(() => {
|
|
104
|
+
fn(defaultParams);
|
|
105
|
+
}, 'boom');
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
describe('when the server returns a 200 response', () => {
|
|
109
|
+
it('does not throw an error', () => {
|
|
110
|
+
const expectedBody = {
|
|
111
|
+
errors: [],
|
|
112
|
+
warnings: [],
|
|
113
|
+
session_id: 'abc'
|
|
114
|
+
};
|
|
115
|
+
const requestStub = sinon_1.default.stub().returns({
|
|
116
|
+
statusCode: 200,
|
|
117
|
+
getBody: () => JSON.stringify(expectedBody)
|
|
118
|
+
});
|
|
119
|
+
const fn = (0, proxyquire_1.default)('./initializeSession', {
|
|
120
|
+
'sync-request': requestStub
|
|
121
|
+
}).default;
|
|
122
|
+
const invoke = fn(defaultParams);
|
|
123
|
+
chai_1.assert.doesNotThrow(() => invoke);
|
|
124
|
+
chai_1.assert.deepEqual(invoke, expectedBody.session_id);
|
|
125
|
+
});
|
|
126
|
+
describe('and no session_id is returned', () => {
|
|
127
|
+
const expectedBody = {
|
|
128
|
+
errors: [],
|
|
129
|
+
warnings: []
|
|
130
|
+
};
|
|
131
|
+
const sessionID = 'xyz';
|
|
132
|
+
describe('and a sessionID is provided', () => {
|
|
133
|
+
it('uses the sessionID', () => {
|
|
134
|
+
const requestStub = sinon_1.default.stub().returns({
|
|
135
|
+
statusCode: 200,
|
|
136
|
+
getBody: () => JSON.stringify(expectedBody)
|
|
137
|
+
});
|
|
138
|
+
const fn = (0, proxyquire_1.default)('./initializeSession', {
|
|
139
|
+
'sync-request': requestStub
|
|
140
|
+
}).default;
|
|
141
|
+
const invoke = fn({
|
|
142
|
+
...defaultParams,
|
|
143
|
+
...{ sessionID }
|
|
144
|
+
});
|
|
145
|
+
chai_1.assert.deepEqual(invoke, sessionID);
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
describe('and a buildID is provided', () => {
|
|
149
|
+
it('throws', () => {
|
|
150
|
+
const requestStub = sinon_1.default.stub().returns({
|
|
151
|
+
statusCode: 200,
|
|
152
|
+
getBody: () => JSON.stringify(expectedBody)
|
|
153
|
+
});
|
|
154
|
+
const fn = (0, proxyquire_1.default)('./initializeSession', {
|
|
155
|
+
'sync-request': requestStub
|
|
156
|
+
}).default;
|
|
157
|
+
const buildID = 'def';
|
|
158
|
+
chai_1.assert.throws(() => fn({
|
|
159
|
+
...defaultParams,
|
|
160
|
+
...{ buildID }
|
|
161
|
+
}), 'Failed to initialize session based on build_id. Try again later.');
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
describe('and neither a sessionID nor a buildID are provided', () => {
|
|
165
|
+
it('uses a generated UUID', () => {
|
|
166
|
+
const requestStub = sinon_1.default.stub().returns({
|
|
167
|
+
statusCode: 200,
|
|
168
|
+
getBody: () => JSON.stringify(expectedBody)
|
|
169
|
+
});
|
|
170
|
+
const generatedID = 'ghi';
|
|
171
|
+
const uuidStub = sinon_1.default.stub().returns(generatedID);
|
|
172
|
+
const fn = (0, proxyquire_1.default)('./initializeSession', {
|
|
173
|
+
'sync-request': requestStub,
|
|
174
|
+
uuid: { v4: uuidStub }
|
|
175
|
+
}).default;
|
|
176
|
+
const invoke = fn(defaultParams);
|
|
177
|
+
chai_1.assert.deepEqual(invoke, generatedID);
|
|
178
|
+
});
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
});
|
|
182
|
+
});
|
|
183
|
+
//# sourceMappingURL=initializeSession.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initializeSession.test.js","sourceRoot":"","sources":["../../src/utils/initializeSession.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ interface AxeConfiguration {
|
|
|
16
16
|
apiKey: string;
|
|
17
17
|
/** Custom axe server URL. */
|
|
18
18
|
serverURL?: string;
|
|
19
|
-
/**
|
|
19
|
+
/** @deprecated Please use `buildID` instead */
|
|
20
20
|
sessionId?: string;
|
|
21
21
|
/**
|
|
22
22
|
* Whether or not to automatically run axe on the page when loaded and
|
|
@@ -39,8 +39,6 @@ interface AxeConfiguration {
|
|
|
39
39
|
* @see https://www.deque.com/axe/core-documentation/api-documentation/#options-parameter
|
|
40
40
|
*/
|
|
41
41
|
runOptions?: RunOptions;
|
|
42
|
-
/** Whether to take and send screenshots to the perf endpoint */
|
|
43
|
-
/** Run experimental advanced rules */
|
|
44
42
|
/**
|
|
45
43
|
* Exclude URLs from being scanned by axe-core/watcher by providing an array of minimatch patterns.
|
|
46
44
|
*
|
|
@@ -51,6 +49,19 @@ interface AxeConfiguration {
|
|
|
51
49
|
* ```
|
|
52
50
|
*/
|
|
53
51
|
excludeUrlPatterns?: string[];
|
|
52
|
+
/**
|
|
53
|
+
* A unique identifier for the build or test run. This is useful for:
|
|
54
|
+
*
|
|
55
|
+
* - Grouping `@axe-core/watcher` runs across multiple workers running in parallel
|
|
56
|
+
* - Grouping `@axe-core/watcher` runs across multiple axe Developer Hub projects
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```js
|
|
60
|
+
* buildID: ${ process.env.GITHUB.RUN_ID }
|
|
61
|
+
* buildID: ${ process.env.CIRCLE_PIPELINE_ID }
|
|
62
|
+
*```
|
|
63
|
+
*/
|
|
64
|
+
buildID?: string;
|
|
54
65
|
}
|
|
55
66
|
export interface Configuration {
|
|
56
67
|
axe: AxeConfiguration;
|
|
@@ -73,5 +84,5 @@ export interface Variables {
|
|
|
73
84
|
exclude_url_patterns: string[] | null;
|
|
74
85
|
}
|
|
75
86
|
/** Write the user's settings to the disk, so the extension can load them. */
|
|
76
|
-
declare function writeVariables({ apiKey, autoAnalyze, cypress, serverURL, sessionId, runContext, runOptions, takeScreenshots, experimentalAdvancedRules, excludeUrlPatterns }: WriteVariablesParams): void;
|
|
87
|
+
declare function writeVariables({ apiKey, autoAnalyze, cypress, serverURL, sessionId, runContext, runOptions, takeScreenshots, experimentalAdvancedRules, excludeUrlPatterns, buildID }: WriteVariablesParams): void;
|
|
77
88
|
export default writeVariables;
|
|
@@ -28,20 +28,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
const git = __importStar(require("../git"));
|
|
30
30
|
const fs_1 = __importDefault(require("fs"));
|
|
31
|
-
const uuid_1 = require("uuid");
|
|
32
31
|
const constants_1 = require("./constants");
|
|
33
32
|
const validateAxeRunOptions_1 = require("./validateAxeRunOptions");
|
|
34
33
|
const createDebugger_1 = __importDefault(require("../createDebugger"));
|
|
35
|
-
const
|
|
34
|
+
const initializeSession_1 = __importDefault(require("./initializeSession"));
|
|
36
35
|
const validateAxeRunContext_1 = require("./validateAxeRunContext");
|
|
37
36
|
const isValidExcludePattern_1 = __importDefault(require("./isValidExcludePattern"));
|
|
38
37
|
const debugLogger = (0, createDebugger_1.default)('config:writeVariables');
|
|
38
|
+
// Read the version from package.json, but do not include the file in the build.
|
|
39
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
40
|
+
const { version } = require('../../package.json');
|
|
39
41
|
/** Write the user's settings to the disk, so the extension can load them. */
|
|
40
42
|
function writeVariables({ apiKey, autoAnalyze, cypress, serverURL, sessionId, runContext, runOptions,
|
|
41
43
|
// @ts-expect-error Feature flag, not part of public type
|
|
42
44
|
takeScreenshots,
|
|
43
45
|
// @ts-expect-error Feature flag, not part of public type
|
|
44
|
-
experimentalAdvancedRules, excludeUrlPatterns }) {
|
|
46
|
+
experimentalAdvancedRules, excludeUrlPatterns, buildID }) {
|
|
45
47
|
// only log the properties if they are not undefined
|
|
46
48
|
debugLogger('Received configuration:', {
|
|
47
49
|
apiKey: '<redacted>',
|
|
@@ -49,7 +51,9 @@ experimentalAdvancedRules, excludeUrlPatterns }) {
|
|
|
49
51
|
...(serverURL !== undefined && { serverURL }),
|
|
50
52
|
...(sessionId !== undefined && { sessionId }),
|
|
51
53
|
...(runContext !== undefined && { runContext }),
|
|
52
|
-
...(runOptions !== undefined && { runOptions })
|
|
54
|
+
...(runOptions !== undefined && { runOptions }),
|
|
55
|
+
...(excludeUrlPatterns !== undefined && { excludeUrlPatterns }),
|
|
56
|
+
...(buildID !== undefined && { buildID })
|
|
53
57
|
});
|
|
54
58
|
if (!serverURL) {
|
|
55
59
|
serverURL = constants_1.DEFAULT_SERVER_URL;
|
|
@@ -84,31 +88,42 @@ experimentalAdvancedRules, excludeUrlPatterns }) {
|
|
|
84
88
|
gitData.git_commit_email = info === null || info === void 0 ? void 0 : info.email;
|
|
85
89
|
gitData.git_commit_message = info === null || info === void 0 ? void 0 : info.message;
|
|
86
90
|
}
|
|
87
|
-
debugLogger('
|
|
88
|
-
(0,
|
|
91
|
+
debugLogger('Initializing axe Watcher session');
|
|
92
|
+
const session_id = (0, initializeSession_1.default)({
|
|
93
|
+
apiKey,
|
|
94
|
+
serverURL: urlString,
|
|
95
|
+
watcherVersion: version,
|
|
96
|
+
sessionID: sessionId || null,
|
|
97
|
+
buildID: buildID || null,
|
|
98
|
+
gitCommitSha: gitData.git_commit_sha || null
|
|
99
|
+
});
|
|
89
100
|
if (typeof autoAnalyze === 'undefined') {
|
|
90
101
|
autoAnalyze = true;
|
|
91
102
|
}
|
|
92
103
|
if (excludeUrlPatterns === null || excludeUrlPatterns === void 0 ? void 0 : excludeUrlPatterns.length) {
|
|
93
104
|
(0, isValidExcludePattern_1.default)(excludeUrlPatterns);
|
|
94
105
|
}
|
|
95
|
-
//
|
|
96
|
-
//
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
106
|
+
// Note: If a build ID is provided the session ID will be consistent
|
|
107
|
+
// so there is no need to write to the file.
|
|
108
|
+
// between workers/machines (parallel runners)
|
|
109
|
+
if (!buildID) {
|
|
110
|
+
// When a custom session ID is not provided, attempt to read it from the filesystem.
|
|
111
|
+
// This enables multi-process/multi-browser test suites to all use the same session ID.
|
|
112
|
+
if (!sessionId && fs_1.default.existsSync(constants_1.PATH_TO_SESSION_FILE)) {
|
|
113
|
+
debugLogger('Reading session ID from file for WDIO Test Runner');
|
|
114
|
+
try {
|
|
115
|
+
const data = JSON.parse(fs_1.default.readFileSync(constants_1.PATH_TO_SESSION_FILE, 'utf8'));
|
|
116
|
+
sessionId = data.id;
|
|
117
|
+
}
|
|
118
|
+
catch (error) {
|
|
119
|
+
throw new Error(`Unable to read session configuration: ${error}`);
|
|
120
|
+
}
|
|
105
121
|
}
|
|
106
122
|
}
|
|
107
123
|
const variables = {
|
|
108
124
|
api_key: apiKey,
|
|
109
125
|
server_url: urlString,
|
|
110
|
-
|
|
111
|
-
session_id: sessionId || (0, uuid_1.v4)(),
|
|
126
|
+
session_id: session_id || sessionId,
|
|
112
127
|
take_screenshots: !!takeScreenshots,
|
|
113
128
|
auto_analyze: !!autoAnalyze,
|
|
114
129
|
cypress: !!cypress,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeVariables.js","sourceRoot":"","sources":["../../src/utils/writeVariables.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,4CAA6B;AAC7B,4CAAmB;AACnB
|
|
1
|
+
{"version":3,"file":"writeVariables.js","sourceRoot":"","sources":["../../src/utils/writeVariables.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,34 +31,15 @@ const chai_1 = require("chai");
|
|
|
31
31
|
const sinon_1 = __importDefault(require("sinon"));
|
|
32
32
|
const fs_1 = __importDefault(require("fs"));
|
|
33
33
|
const git = __importStar(require("../git"));
|
|
34
|
-
const
|
|
34
|
+
const initializeSessionImp = __importStar(require("./initializeSession"));
|
|
35
35
|
const writeVariables_1 = __importDefault(require("./writeVariables"));
|
|
36
36
|
describe('writeVariables', () => {
|
|
37
|
-
let validateApiKey;
|
|
38
37
|
beforeEach(() => {
|
|
39
|
-
|
|
38
|
+
sinon_1.default.stub(initializeSessionImp, 'default').returns('123');
|
|
40
39
|
});
|
|
41
40
|
afterEach(() => {
|
|
42
41
|
sinon_1.default.restore();
|
|
43
42
|
});
|
|
44
|
-
describe('when validateApiKey=true', () => {
|
|
45
|
-
describe('when given an invalid API key', () => {
|
|
46
|
-
beforeEach(() => {
|
|
47
|
-
;
|
|
48
|
-
validateApiKey.throws(new Error('Invalid API key'));
|
|
49
|
-
});
|
|
50
|
-
it('should throw', () => {
|
|
51
|
-
chai_1.assert.throws(() => {
|
|
52
|
-
(0, writeVariables_1.default)({
|
|
53
|
-
apiKey: 'abc',
|
|
54
|
-
serverURL: 'http://localhost:3000',
|
|
55
|
-
// @ts-expect-error // Feature flag, not part of public type
|
|
56
|
-
takeScreenshots: true
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
43
|
describe('given `sessionId` variable', () => {
|
|
63
44
|
describe('when provided', () => {
|
|
64
45
|
it('should write to variables.json', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeVariables.test.js","sourceRoot":"","sources":["../../src/utils/writeVariables.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iBAAc;AACd,+BAA6B;AAC7B,kDAAyB;AACzB,4CAAmB;AACnB,4CAA6B;AAC7B,
|
|
1
|
+
{"version":3,"file":"writeVariables.test.js","sourceRoot":"","sources":["../../src/utils/writeVariables.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iBAAc;AACd,+BAA6B;AAC7B,kDAAyB;AACzB,4CAAmB;AACnB,4CAA6B;AAC7B,0EAA2D;AAC3D,sEAAiE;AAEjE,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,UAAU,CAAC,GAAG,EAAE;QACd,eAAK,CAAC,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,eAAK,CAAC,OAAO,EAAE,CAAA;IACjB,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;YAC7B,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;gBACxC,MAAM,OAAO,GAAG,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBAC/B,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBACrC,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBAC5C,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBACnC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;gBAClC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBAC9B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;gBAC5B,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC;oBAC5B,OAAO,EAAE,SAAS;oBAClB,MAAM,EAAE,QAAQ;oBAChB,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,MAAM;iBACb,CAAC,CAAA;gBAEF,MAAM,aAAa,GAAG,eAAK,CAAC,IAAI,CAAC,YAAE,EAAE,eAAe,CAAC,CAAA;gBAErD,IAAA,wBAAc,EAAC;oBACb,MAAM,EAAE,KAAK;oBACb,SAAS,EAAE,wBAAwB;oBACnC,SAAS,EAAE,KAAK;oBAChB,4DAA4D;oBAC5D,eAAe,EAAE,IAAI;oBACrB,yBAAyB,EAAE,IAAI;iBAChC,CAAC,CAAA;gBAEF,aAAM,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;gBACvC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CACvB,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAW,CACtB,CAAA;gBACd,aAAM,CAAC,SAAS,CAAC,MAAM,EAAE;oBACvB,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,wBAAwB;oBACpC,YAAY,EAAE,IAAI;oBAClB,UAAU,EAAE,KAAK;oBACjB,OAAO,EAAE,KAAK;oBACd,gBAAgB,EAAE,IAAI;oBACtB,2BAA2B,EAAE,IAAI;oBACjC,WAAW,EAAE,IAAI;oBACjB,WAAW,EAAE,IAAI;oBACjB,oBAAoB,EAAE,IAAI;oBAC1B,QAAQ,EAAE;wBACR,UAAU,EAAE,MAAM;wBAClB,kBAAkB,EAAE,MAAM;wBAC1B,OAAO,EAAE,KAAK;wBACd,OAAO,EAAE,IAAI;wBACb,kBAAkB,EAAE,SAAS;wBAC7B,iBAAiB,EAAE,QAAQ;wBAC3B,gBAAgB,EAAE,OAAO;wBACzB,cAAc,EAAE,MAAM;wBACtB,YAAY,EAAE,KAAK;qBACpB;iBACF,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;YACjC,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;gBAC9D,MAAM,aAAa,GAAG,eAAK,CAAC,IAAI,CAAC,YAAE,EAAE,eAAe,CAAC,CAAA;gBACrD,IAAA,wBAAc,EAAC;oBACb,MAAM,EAAE,KAAK;iBACd,CAAC,CAAA;gBAEF,aAAM,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;gBACvC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAC1B,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAW,CACtB,CAAA;gBAEd,aAAM,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;YACrC,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;YAC7B,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;gBACxC,MAAM,aAAa,GAAG,eAAK,CAAC,IAAI,CAAC,YAAE,EAAE,eAAe,CAAC,CAAA;gBACrD,IAAA,wBAAc,EAAC;oBACb,MAAM,EAAE,KAAK;oBACb,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;iBAC/C,CAAC,CAAA;gBAEF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CACvB,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAW,CACtB,CAAA;gBAEd,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAA;gBACrC,aAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;gBAC5B,aAAM,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;YAClE,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;YACjC,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;gBAC5C,MAAM,aAAa,GAAG,eAAK,CAAC,IAAI,CAAC,YAAE,EAAE,eAAe,CAAC,CAAA;gBACrD,IAAA,wBAAc,EAAC;oBACb,MAAM,EAAE,KAAK;iBACd,CAAC,CAAA;gBAEF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CACvB,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAW,CACtB,CAAA;gBAEd,aAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;YACnC,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;YAC7B,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;gBACxC,MAAM,aAAa,GAAG,eAAK,CAAC,IAAI,CAAC,YAAE,EAAE,eAAe,CAAC,CAAA;gBACrD,IAAA,wBAAc,EAAC;oBACb,MAAM,EAAE,KAAK;oBACb,UAAU,EAAE;wBACV,QAAQ,EAAE,IAAI;wBACd,KAAK,EAAE,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;wBAC/C,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,gBAAgB,CAAC,EAAE;qBACvD;iBACF,CAAC,CAAA;gBAEF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CACvB,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAW,CACtB,CAAA;gBAEd,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAA;gBACrC,aAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;gBAC5B,aAAM,CAAC,SAAS,CAAC,UAAU,EAAE;oBAC3B,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;oBAC/C,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,gBAAgB,CAAC,EAAE;iBACvD,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;YACjC,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;gBAC5C,MAAM,aAAa,GAAG,eAAK,CAAC,IAAI,CAAC,YAAE,EAAE,eAAe,CAAC,CAAA;gBACrD,IAAA,wBAAc,EAAC;oBACb,MAAM,EAAE,KAAK;iBACd,CAAC,CAAA;gBAEF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CACvB,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAW,CACtB,CAAA;gBAEd,aAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;YACnC,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;YAC7B,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;gBACxC,MAAM,aAAa,GAAG,eAAK,CAAC,IAAI,CAAC,YAAE,EAAE,eAAe,CAAC,CAAA;gBACrD,IAAA,wBAAc,EAAC;oBACb,MAAM,EAAE,KAAK;oBACb,kBAAkB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;iBACnC,CAAC,CAAA;gBAEF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CACvB,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAW,CACtB,CAAA;gBAEd,MAAM,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAA;gBACtD,aAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAA;gBACpC,aAAM,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;YACtD,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;YACjC,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;gBAC5C,MAAM,aAAa,GAAG,eAAK,CAAC,IAAI,CAAC,YAAE,EAAE,eAAe,CAAC,CAAA;gBACrD,IAAA,wBAAc,EAAC;oBACb,MAAM,EAAE,KAAK;iBACd,CAAC,CAAA;gBAEF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CACvB,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAW,CACtB,CAAA;gBAEd,aAAM,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAA;YAC5C,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;YACnC,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;gBACtB,aAAM,CAAC,MAAM,CAAC,GAAG,EAAE;oBACjB,IAAA,wBAAc,EAAC;wBACb,MAAM,EAAE,KAAK;wBACb,kBAAkB,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAQ;qBAC7C,CAAC,CAAA;gBACJ,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/dist/wdio.js
CHANGED
|
@@ -75,7 +75,12 @@ function wdioTestRunner(...params) {
|
|
|
75
75
|
capabilities,
|
|
76
76
|
onPrepare(...prepareParams) {
|
|
77
77
|
const sessionId = axe.sessionId;
|
|
78
|
-
|
|
78
|
+
const buildID = axe.buildID;
|
|
79
|
+
// Note: we only want to write a file if a build ID is not provided.
|
|
80
|
+
// as the build ID will ensure the session ID is consistent between workers/machines.
|
|
81
|
+
if (!buildID) {
|
|
82
|
+
fs_1.default.writeFileSync(constants_1.PATH_TO_SESSION_FILE, JSON.stringify({ id: sessionId }));
|
|
83
|
+
}
|
|
79
84
|
// @ts-expect-error TS is angry about calling this ¯\_(ツ)_/¯
|
|
80
85
|
return onPrepare(...prepareParams);
|
|
81
86
|
},
|
package/dist/wdio.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wdio.js","sourceRoot":"","sources":["../src/wdio.ts"],"names":[],"mappings":";;;;;;AA0BA,gCA0BC;AAgBD,
|
|
1
|
+
{"version":3,"file":"wdio.js","sourceRoot":"","sources":["../src/wdio.ts"],"names":[],"mappings":"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"}
|