@axe-core/watcher 3.12.0 → 3.13.1-next.13e7eef5
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/Controller.js +3 -3
- package/dist/Controller.js.map +1 -1
- package/dist/cypress.d.ts +2 -1
- package/dist/cypress.js +39 -14
- package/dist/cypress.js.map +1 -1
- package/dist/cypressCommands.js +7 -2
- package/dist/cypressCommands.js.map +1 -1
- package/dist/git.d.ts +2 -1
- package/dist/git.js +5 -4
- package/dist/git.js.map +1 -1
- package/dist/playwright.d.ts +1 -1
- package/dist/playwright.js +6 -4
- package/dist/playwright.js.map +1 -1
- package/dist/playwrightTest.js +7 -3
- package/dist/playwrightTest.js.map +1 -1
- package/dist/playwrightWrapping.d.ts +1 -1
- package/dist/playwrightWrapping.js +41 -41
- package/dist/playwrightWrapping.js.map +1 -1
- package/dist/puppeteer.d.ts +1 -1
- package/dist/puppeteer.js +7 -5
- package/dist/puppeteer.js.map +1 -1
- package/dist/puppeteerWrapping.d.ts +1 -1
- package/dist/puppeteerWrapping.js +45 -46
- package/dist/puppeteerWrapping.js.map +1 -1
- package/dist/sendResultsToServer.d.ts +2 -0
- package/dist/sendResultsToServer.js +21 -58
- package/dist/sendResultsToServer.js.map +1 -1
- package/dist/utils/constants.d.ts +4 -0
- package/dist/utils/constants.js +39 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/headlessNotSupportedError.d.ts +5 -0
- package/dist/utils/headlessNotSupportedError.js +17 -0
- package/dist/utils/headlessNotSupportedError.js.map +1 -0
- package/dist/utils/headlessNotSupportedError.test.d.ts +1 -0
- package/dist/utils/headlessNotSupportedError.test.js +21 -0
- package/dist/utils/headlessNotSupportedError.test.js.map +1 -0
- 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.d.ts +1 -0
- package/dist/utils/initializeSession.test.js +183 -0
- package/dist/utils/initializeSession.test.js.map +1 -0
- package/dist/utils/isValidExcludePattern.d.ts +2 -0
- package/dist/utils/isValidExcludePattern.js +10 -0
- package/dist/utils/isValidExcludePattern.js.map +1 -0
- package/dist/utils/isValidExcludePattern.test.d.ts +1 -0
- package/dist/utils/isValidExcludePattern.test.js +17 -0
- package/dist/utils/isValidExcludePattern.test.js.map +1 -0
- package/dist/utils/mergeChromeArgs.d.ts +12 -0
- package/dist/utils/mergeChromeArgs.js +73 -0
- package/dist/utils/mergeChromeArgs.js.map +1 -0
- package/dist/utils/mergeChromeArgs.test.d.ts +1 -0
- package/dist/utils/mergeChromeArgs.test.js +260 -0
- package/dist/utils/mergeChromeArgs.test.js.map +1 -0
- package/dist/utils/proxyHandlers.d.ts +12 -0
- package/dist/utils/proxyHandlers.js +62 -0
- package/dist/utils/proxyHandlers.js.map +1 -0
- package/dist/utils/proxyHandlers.test.d.ts +1 -0
- package/dist/utils/proxyHandlers.test.js +28 -0
- package/dist/utils/proxyHandlers.test.js.map +1 -0
- package/dist/utils/readVariables.d.ts +7 -0
- package/dist/utils/readVariables.js +17 -0
- package/dist/utils/readVariables.js.map +1 -0
- package/dist/utils/updateAutoAnalyze.d.ts +7 -0
- package/dist/utils/updateAutoAnalyze.js +20 -0
- package/dist/utils/updateAutoAnalyze.js.map +1 -0
- package/dist/utils/writeExtensionManifest.d.ts +7 -0
- package/dist/utils/writeExtensionManifest.js +18 -0
- package/dist/utils/writeExtensionManifest.js.map +1 -0
- package/dist/utils/writeVariables.d.ts +88 -0
- package/dist/utils/writeVariables.js +139 -0
- package/dist/utils/writeVariables.js.map +1 -0
- package/dist/utils/writeVariables.test.d.ts +1 -0
- package/dist/utils/writeVariables.test.js +201 -0
- package/dist/utils/writeVariables.test.js.map +1 -0
- package/dist/wdio.d.ts +1 -1
- package/dist/wdio.js +17 -9
- package/dist/wdio.js.map +1 -1
- package/dist/webdriver.d.ts +1 -1
- package/dist/webdriver.js +6 -4
- package/dist/webdriver.js.map +1 -1
- package/dist/webdriverWrapping.d.ts +1 -1
- package/dist/webdriverWrapping.js +16 -16
- package/dist/webdriverWrapping.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 +2 -2
- package/dist/util.d.ts +0 -96
- package/dist/util.js +0 -243
- package/dist/util.js.map +0 -1
- package/dist/utils/index.d.ts +0 -2
- package/dist/utils/index.js +0 -20
- package/dist/utils/index.js.map +0 -1
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
const git = __importStar(require("../git"));
|
|
30
|
+
const fs_1 = __importDefault(require("fs"));
|
|
31
|
+
const constants_1 = require("./constants");
|
|
32
|
+
const validateAxeRunOptions_1 = require("./validateAxeRunOptions");
|
|
33
|
+
const createDebugger_1 = __importDefault(require("../createDebugger"));
|
|
34
|
+
const initializeSession_1 = __importDefault(require("./initializeSession"));
|
|
35
|
+
const validateAxeRunContext_1 = require("./validateAxeRunContext");
|
|
36
|
+
const isValidExcludePattern_1 = __importDefault(require("./isValidExcludePattern"));
|
|
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');
|
|
41
|
+
/** Write the user's settings to the disk, so the extension can load them. */
|
|
42
|
+
function writeVariables({ apiKey, autoAnalyze, cypress, serverURL, sessionId, runContext, runOptions,
|
|
43
|
+
// @ts-expect-error Feature flag, not part of public type
|
|
44
|
+
takeScreenshots,
|
|
45
|
+
// @ts-expect-error Feature flag, not part of public type
|
|
46
|
+
experimentalAdvancedRules, excludeUrlPatterns, buildID }) {
|
|
47
|
+
// only log the properties if they are not undefined
|
|
48
|
+
debugLogger('Received configuration:', {
|
|
49
|
+
apiKey: '<redacted>',
|
|
50
|
+
...(autoAnalyze !== undefined && { autoAnalyze }),
|
|
51
|
+
...(serverURL !== undefined && { serverURL }),
|
|
52
|
+
...(sessionId !== undefined && { sessionId }),
|
|
53
|
+
...(runContext !== undefined && { runContext }),
|
|
54
|
+
...(runOptions !== undefined && { runOptions }),
|
|
55
|
+
...(excludeUrlPatterns !== undefined && { excludeUrlPatterns }),
|
|
56
|
+
...(buildID !== undefined && { buildID })
|
|
57
|
+
});
|
|
58
|
+
if (!serverURL) {
|
|
59
|
+
serverURL = constants_1.DEFAULT_SERVER_URL;
|
|
60
|
+
}
|
|
61
|
+
let urlString;
|
|
62
|
+
try {
|
|
63
|
+
urlString = new URL(serverURL).toString();
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
throw new Error(`Error when converting serverURL to URL. Ensure it is formatted properly: ${err}`);
|
|
67
|
+
}
|
|
68
|
+
if (typeof runContext !== 'undefined') {
|
|
69
|
+
(0, validateAxeRunContext_1.validateAxeRunContext)(runContext);
|
|
70
|
+
debugLogger('Validated runContext:', runContext);
|
|
71
|
+
}
|
|
72
|
+
if (typeof runOptions !== 'undefined') {
|
|
73
|
+
(0, validateAxeRunOptions_1.validateAxeRunOptions)(runOptions);
|
|
74
|
+
debugLogger('Validated runOptions:', runOptions);
|
|
75
|
+
}
|
|
76
|
+
const gitData = {};
|
|
77
|
+
const isGitRepo = git.isRepository();
|
|
78
|
+
if (isGitRepo) {
|
|
79
|
+
debugLogger('Is this a git project?', { isGitRepo });
|
|
80
|
+
gitData.git_branch = git.getBranchName();
|
|
81
|
+
gitData.git_tag = git.getTag();
|
|
82
|
+
gitData.git_default_branch = git.getDefaultBranchName();
|
|
83
|
+
gitData.git_url = git.getRemoteURL();
|
|
84
|
+
gitData.git_is_dirty = git.isDirty();
|
|
85
|
+
const info = git.getCommitInfo();
|
|
86
|
+
gitData.git_commit_sha = info === null || info === void 0 ? void 0 : info.hash;
|
|
87
|
+
gitData.git_commit_author = info === null || info === void 0 ? void 0 : info.author;
|
|
88
|
+
gitData.git_commit_email = info === null || info === void 0 ? void 0 : info.email;
|
|
89
|
+
gitData.git_commit_message = info === null || info === void 0 ? void 0 : info.message;
|
|
90
|
+
}
|
|
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
|
+
});
|
|
100
|
+
if (typeof autoAnalyze === 'undefined') {
|
|
101
|
+
autoAnalyze = true;
|
|
102
|
+
}
|
|
103
|
+
if (excludeUrlPatterns === null || excludeUrlPatterns === void 0 ? void 0 : excludeUrlPatterns.length) {
|
|
104
|
+
(0, isValidExcludePattern_1.default)(excludeUrlPatterns);
|
|
105
|
+
}
|
|
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
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
const variables = {
|
|
124
|
+
api_key: apiKey,
|
|
125
|
+
server_url: urlString,
|
|
126
|
+
session_id: session_id || sessionId,
|
|
127
|
+
take_screenshots: !!takeScreenshots,
|
|
128
|
+
auto_analyze: !!autoAnalyze,
|
|
129
|
+
cypress: !!cypress,
|
|
130
|
+
experimental_advanced_rules: !!experimentalAdvancedRules,
|
|
131
|
+
run_context: runContext || null,
|
|
132
|
+
run_options: runOptions || null,
|
|
133
|
+
git_data: gitData,
|
|
134
|
+
exclude_url_patterns: excludeUrlPatterns || null
|
|
135
|
+
};
|
|
136
|
+
fs_1.default.writeFileSync(constants_1.PATH_TO_EXTENSION_VARIABLES, JSON.stringify(variables));
|
|
137
|
+
}
|
|
138
|
+
exports.default = writeVariables;
|
|
139
|
+
//# sourceMappingURL=writeVariables.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writeVariables.js","sourceRoot":"","sources":["../../src/utils/writeVariables.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import 'mocha';
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
require("mocha");
|
|
30
|
+
const chai_1 = require("chai");
|
|
31
|
+
const sinon_1 = __importDefault(require("sinon"));
|
|
32
|
+
const fs_1 = __importDefault(require("fs"));
|
|
33
|
+
const git = __importStar(require("../git"));
|
|
34
|
+
const initializeSessionImp = __importStar(require("./initializeSession"));
|
|
35
|
+
const writeVariables_1 = __importDefault(require("./writeVariables"));
|
|
36
|
+
describe('writeVariables', () => {
|
|
37
|
+
beforeEach(() => {
|
|
38
|
+
sinon_1.default.stub(initializeSessionImp, 'default').returns('123');
|
|
39
|
+
});
|
|
40
|
+
afterEach(() => {
|
|
41
|
+
sinon_1.default.restore();
|
|
42
|
+
});
|
|
43
|
+
describe('given `sessionId` variable', () => {
|
|
44
|
+
describe('when provided', () => {
|
|
45
|
+
it('should write to variables.json', () => {
|
|
46
|
+
const gitStub = sinon_1.default.stub(git);
|
|
47
|
+
gitStub.getBranchName.returns('main');
|
|
48
|
+
gitStub.getDefaultBranchName.returns('main');
|
|
49
|
+
gitStub.getRemoteURL.returns('url');
|
|
50
|
+
gitStub.isRepository.returns(true);
|
|
51
|
+
gitStub.isDirty.returns(false);
|
|
52
|
+
gitStub.getTag.returns(null);
|
|
53
|
+
gitStub.getCommitInfo.returns({
|
|
54
|
+
message: 'message',
|
|
55
|
+
author: 'author',
|
|
56
|
+
email: 'email',
|
|
57
|
+
hash: 'hash'
|
|
58
|
+
});
|
|
59
|
+
const writeFileSync = sinon_1.default.stub(fs_1.default, 'writeFileSync');
|
|
60
|
+
(0, writeVariables_1.default)({
|
|
61
|
+
apiKey: 'abc',
|
|
62
|
+
serverURL: 'http://localhost:3000/',
|
|
63
|
+
sessionId: '123',
|
|
64
|
+
// @ts-expect-error // Feature flag, not part of public type
|
|
65
|
+
takeScreenshots: true,
|
|
66
|
+
experimentalAdvancedRules: true
|
|
67
|
+
});
|
|
68
|
+
chai_1.assert.isTrue(writeFileSync.calledOnce);
|
|
69
|
+
const stored = JSON.parse(writeFileSync.args[0][1]);
|
|
70
|
+
chai_1.assert.deepEqual(stored, {
|
|
71
|
+
api_key: 'abc',
|
|
72
|
+
server_url: 'http://localhost:3000/',
|
|
73
|
+
auto_analyze: true,
|
|
74
|
+
session_id: '123',
|
|
75
|
+
cypress: false,
|
|
76
|
+
take_screenshots: true,
|
|
77
|
+
experimental_advanced_rules: true,
|
|
78
|
+
run_context: null,
|
|
79
|
+
run_options: null,
|
|
80
|
+
exclude_url_patterns: null,
|
|
81
|
+
git_data: {
|
|
82
|
+
git_branch: 'main',
|
|
83
|
+
git_default_branch: 'main',
|
|
84
|
+
git_url: 'url',
|
|
85
|
+
git_tag: null,
|
|
86
|
+
git_commit_message: 'message',
|
|
87
|
+
git_commit_author: 'author',
|
|
88
|
+
git_commit_email: 'email',
|
|
89
|
+
git_commit_sha: 'hash',
|
|
90
|
+
git_is_dirty: false
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
describe('when not provided', () => {
|
|
96
|
+
it('creates a session ID and writes it to variables.json', () => {
|
|
97
|
+
const writeFileSync = sinon_1.default.stub(fs_1.default, 'writeFileSync');
|
|
98
|
+
(0, writeVariables_1.default)({
|
|
99
|
+
apiKey: 'abc'
|
|
100
|
+
});
|
|
101
|
+
chai_1.assert.isTrue(writeFileSync.calledOnce);
|
|
102
|
+
const variables = JSON.parse(writeFileSync.args[0][1]);
|
|
103
|
+
chai_1.assert.exists(variables.session_id);
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
describe(`runContext`, () => {
|
|
108
|
+
describe('when provided', () => {
|
|
109
|
+
it('should write to variables.json', () => {
|
|
110
|
+
const writeFileSync = sinon_1.default.stub(fs_1.default, 'writeFileSync');
|
|
111
|
+
(0, writeVariables_1.default)({
|
|
112
|
+
apiKey: 'abc',
|
|
113
|
+
runContext: { include: 'foo', exclude: 'bar' }
|
|
114
|
+
});
|
|
115
|
+
const stored = JSON.parse(writeFileSync.args[0][1]);
|
|
116
|
+
const runContext = stored.run_context;
|
|
117
|
+
chai_1.assert.isDefined(runContext);
|
|
118
|
+
chai_1.assert.deepEqual(runContext, { include: 'foo', exclude: 'bar' });
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
describe('when not provided', () => {
|
|
122
|
+
it('should not write to variables.json', () => {
|
|
123
|
+
const writeFileSync = sinon_1.default.stub(fs_1.default, 'writeFileSync');
|
|
124
|
+
(0, writeVariables_1.default)({
|
|
125
|
+
apiKey: 'abc'
|
|
126
|
+
});
|
|
127
|
+
const stored = JSON.parse(writeFileSync.args[0][1]);
|
|
128
|
+
chai_1.assert.isNull(stored.run_context);
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
describe(`runOptions`, () => {
|
|
133
|
+
describe('when provided', () => {
|
|
134
|
+
it('should write to variables.json', () => {
|
|
135
|
+
const writeFileSync = sinon_1.default.stub(fs_1.default, 'writeFileSync');
|
|
136
|
+
(0, writeVariables_1.default)({
|
|
137
|
+
apiKey: 'abc',
|
|
138
|
+
runOptions: {
|
|
139
|
+
ancestry: true,
|
|
140
|
+
rules: { 'color-contrast': { enabled: false } },
|
|
141
|
+
runOnly: { type: 'rules', values: ['color-contrast'] }
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
const stored = JSON.parse(writeFileSync.args[0][1]);
|
|
145
|
+
const runOptions = stored.run_options;
|
|
146
|
+
chai_1.assert.isDefined(runOptions);
|
|
147
|
+
chai_1.assert.deepEqual(runOptions, {
|
|
148
|
+
ancestry: true,
|
|
149
|
+
rules: { 'color-contrast': { enabled: false } },
|
|
150
|
+
runOnly: { type: 'rules', values: ['color-contrast'] }
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
describe('when not provided', () => {
|
|
155
|
+
it('should not write to variables.json', () => {
|
|
156
|
+
const writeFileSync = sinon_1.default.stub(fs_1.default, 'writeFileSync');
|
|
157
|
+
(0, writeVariables_1.default)({
|
|
158
|
+
apiKey: 'abc'
|
|
159
|
+
});
|
|
160
|
+
const stored = JSON.parse(writeFileSync.args[0][1]);
|
|
161
|
+
chai_1.assert.isNull(stored.run_options);
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
});
|
|
165
|
+
describe(`excludeUrlPatterns`, () => {
|
|
166
|
+
describe('when provided', () => {
|
|
167
|
+
it('should write to variables.json', () => {
|
|
168
|
+
const writeFileSync = sinon_1.default.stub(fs_1.default, 'writeFileSync');
|
|
169
|
+
(0, writeVariables_1.default)({
|
|
170
|
+
apiKey: 'abc',
|
|
171
|
+
excludeUrlPatterns: ['foo', 'bar']
|
|
172
|
+
});
|
|
173
|
+
const stored = JSON.parse(writeFileSync.args[0][1]);
|
|
174
|
+
const excludeUrlPatterns = stored.exclude_url_patterns;
|
|
175
|
+
chai_1.assert.isDefined(excludeUrlPatterns);
|
|
176
|
+
chai_1.assert.deepEqual(excludeUrlPatterns, ['foo', 'bar']);
|
|
177
|
+
});
|
|
178
|
+
});
|
|
179
|
+
describe('when not provided', () => {
|
|
180
|
+
it('should not write to variables.json', () => {
|
|
181
|
+
const writeFileSync = sinon_1.default.stub(fs_1.default, 'writeFileSync');
|
|
182
|
+
(0, writeVariables_1.default)({
|
|
183
|
+
apiKey: 'abc'
|
|
184
|
+
});
|
|
185
|
+
const stored = JSON.parse(writeFileSync.args[0][1]);
|
|
186
|
+
chai_1.assert.isNull(stored.exclude_url_patterns);
|
|
187
|
+
});
|
|
188
|
+
});
|
|
189
|
+
describe('throws when invalid', () => {
|
|
190
|
+
it('should throw', () => {
|
|
191
|
+
chai_1.assert.throws(() => {
|
|
192
|
+
(0, writeVariables_1.default)({
|
|
193
|
+
apiKey: 'abc',
|
|
194
|
+
excludeUrlPatterns: ['foo', 'bar', 1]
|
|
195
|
+
});
|
|
196
|
+
});
|
|
197
|
+
});
|
|
198
|
+
});
|
|
199
|
+
});
|
|
200
|
+
});
|
|
201
|
+
//# sourceMappingURL=writeVariables.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writeVariables.test.js","sourceRoot":"","sources":["../../src/utils/writeVariables.test.ts"],"names":[],"mappings":"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"}
|
package/dist/wdio.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Options } from '@wdio/types';
|
|
2
2
|
import type { Browser, BrowserCommandsType, ElementCommandsType, RemoteOptions } from 'webdriverio';
|
|
3
|
-
import { type Configuration } from './util';
|
|
4
3
|
import Controller from './Controller';
|
|
4
|
+
import { type Configuration } from './utils/writeVariables';
|
|
5
5
|
type Options = RemoteOptions & Configuration;
|
|
6
6
|
/**
|
|
7
7
|
* Creates a WebDriverIO config that uses axe extension
|
package/dist/wdio.js
CHANGED
|
@@ -7,8 +7,11 @@ exports.wrapWdio = exports.WRAPPED_ELEMENT_METHODS = exports.WRAPPED_BROWSER_MET
|
|
|
7
7
|
exports.wdioConfig = wdioConfig;
|
|
8
8
|
exports.wdioTestRunner = wdioTestRunner;
|
|
9
9
|
const fs_1 = __importDefault(require("fs"));
|
|
10
|
-
const util_1 = require("./util");
|
|
11
10
|
const Controller_1 = __importDefault(require("./Controller"));
|
|
11
|
+
const writeVariables_1 = __importDefault(require("./utils/writeVariables"));
|
|
12
|
+
const constants_1 = require("./utils/constants");
|
|
13
|
+
const headlessNotSupportedError_1 = require("./utils/headlessNotSupportedError");
|
|
14
|
+
const mergeChromeArgs_1 = __importDefault(require("./utils/mergeChromeArgs"));
|
|
12
15
|
const noop = () => {
|
|
13
16
|
// Nothing.
|
|
14
17
|
};
|
|
@@ -19,13 +22,13 @@ const noop = () => {
|
|
|
19
22
|
*/
|
|
20
23
|
function wdioConfig({ axe, ...options }) {
|
|
21
24
|
var _a;
|
|
22
|
-
(0,
|
|
25
|
+
(0, writeVariables_1.default)(axe);
|
|
23
26
|
// Disable eslint. Wdio doesn't export this property even though they support it.
|
|
24
27
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
25
28
|
const chromeOpts = ((_a = options.capabilities) === null || _a === void 0 ? void 0 : _a['goog:chromeOptions']) || {};
|
|
26
29
|
const args = chromeOpts.args || [];
|
|
27
30
|
if (['headless', '--headless'].some(flag => args.includes(flag))) {
|
|
28
|
-
throw new
|
|
31
|
+
throw new headlessNotSupportedError_1.HeadlessNotSupportedError(`In WebdriverIO, use "headless=new" instead of "headless" in the "args" property of your "${CHROME_OPTIONS}" browser capability configuration.`);
|
|
29
32
|
}
|
|
30
33
|
return {
|
|
31
34
|
...options,
|
|
@@ -35,7 +38,7 @@ function wdioConfig({ axe, ...options }) {
|
|
|
35
38
|
'goog:chromeOptions': {
|
|
36
39
|
// Note: wdio v7 passes `--disable-extensions` as one of the default args.
|
|
37
40
|
// we need to make sure we still append our args to the list.
|
|
38
|
-
args: (0,
|
|
41
|
+
args: (0, mergeChromeArgs_1.default)(args, { disableOtherExtensions: true })
|
|
39
42
|
}
|
|
40
43
|
}
|
|
41
44
|
};
|
|
@@ -52,7 +55,7 @@ function wdioTestRunner(...params) {
|
|
|
52
55
|
;
|
|
53
56
|
[axe, config] = params;
|
|
54
57
|
}
|
|
55
|
-
(0,
|
|
58
|
+
(0, writeVariables_1.default)(axe);
|
|
56
59
|
const capabilities = config.capabilities || [
|
|
57
60
|
{ [CHROME_OPTIONS]: { args: [] } }
|
|
58
61
|
];
|
|
@@ -63,23 +66,28 @@ function wdioTestRunner(...params) {
|
|
|
63
66
|
chromeOpts.args = chromeOpts.args || [];
|
|
64
67
|
const args = chromeOpts.args;
|
|
65
68
|
if (['headless', '--headless'].some(flag => args.includes(flag))) {
|
|
66
|
-
throw new
|
|
69
|
+
throw new headlessNotSupportedError_1.HeadlessNotSupportedError(`In WebdriverIO, use "headless=new" instead of "headless" in the "args" property of your "${CHROME_OPTIONS}" browser capability configuration.`);
|
|
67
70
|
}
|
|
68
|
-
chromeOpts.args = (0,
|
|
71
|
+
chromeOpts.args = (0, mergeChromeArgs_1.default)(args, { disableOtherExtensions: false });
|
|
69
72
|
const { onPrepare = noop, onComplete = noop } = config;
|
|
70
73
|
return {
|
|
71
74
|
...config,
|
|
72
75
|
capabilities,
|
|
73
76
|
onPrepare(...prepareParams) {
|
|
74
77
|
const sessionId = axe.sessionId;
|
|
75
|
-
|
|
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
|
+
}
|
|
76
84
|
// @ts-expect-error TS is angry about calling this ¯\_(ツ)_/¯
|
|
77
85
|
return onPrepare(...prepareParams);
|
|
78
86
|
},
|
|
79
87
|
// Remove the file, preventing other sessions from reusing its ID.
|
|
80
88
|
onComplete(...completeParams) {
|
|
81
89
|
try {
|
|
82
|
-
fs_1.default.unlinkSync(
|
|
90
|
+
fs_1.default.unlinkSync(constants_1.PATH_TO_SESSION_FILE);
|
|
83
91
|
}
|
|
84
92
|
catch (_a) {
|
|
85
93
|
// Oh well.
|
package/dist/wdio.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wdio.js","sourceRoot":"","sources":["../src/wdio.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"wdio.js","sourceRoot":"","sources":["../src/wdio.ts"],"names":[],"mappings":"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"}
|
package/dist/webdriver.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WebDriver } from 'selenium-webdriver';
|
|
2
2
|
import type { Options } from 'selenium-webdriver/chrome';
|
|
3
|
-
import { type Configuration } from './util';
|
|
4
3
|
import Controller from './Controller';
|
|
4
|
+
import { type Configuration } from './utils/writeVariables';
|
|
5
5
|
export { wrapDriver as wrapWebdriver } from './webdriverWrapping';
|
|
6
6
|
interface WebDriverArgs extends Configuration {
|
|
7
7
|
options?: Options;
|
package/dist/webdriver.js
CHANGED
|
@@ -5,8 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.WebdriverController = exports.wrapWebdriver = void 0;
|
|
7
7
|
exports.webdriverConfig = webdriverConfig;
|
|
8
|
-
const util_1 = require("./util");
|
|
9
8
|
const Controller_1 = __importDefault(require("./Controller"));
|
|
9
|
+
const writeVariables_1 = __importDefault(require("./utils/writeVariables"));
|
|
10
|
+
const headlessNotSupportedError_1 = require("./utils/headlessNotSupportedError");
|
|
11
|
+
const mergeChromeArgs_1 = __importDefault(require("./utils/mergeChromeArgs"));
|
|
10
12
|
var webdriverWrapping_1 = require("./webdriverWrapping");
|
|
11
13
|
Object.defineProperty(exports, "wrapWebdriver", { enumerable: true, get: function () { return webdriverWrapping_1.wrapDriver; } });
|
|
12
14
|
/**
|
|
@@ -20,18 +22,18 @@ function webdriverConfig(arg) {
|
|
|
20
22
|
// eslint-disable-next-line import/no-extraneous-dependencies, @typescript-eslint/no-require-imports
|
|
21
23
|
const chrome = require('selenium-webdriver/chrome');
|
|
22
24
|
const { axe, options } = arg;
|
|
23
|
-
(0,
|
|
25
|
+
(0, writeVariables_1.default)(axe);
|
|
24
26
|
const opts = options ? options : new chrome.Options();
|
|
25
27
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
26
28
|
const existingArgs = (((_a = opts === null || opts === void 0 ? void 0 : opts.options_) === null || _a === void 0 ? void 0 : _a.args) || []);
|
|
27
|
-
opts.options_.args = (0,
|
|
29
|
+
opts.options_.args = (0, mergeChromeArgs_1.default)(existingArgs, {
|
|
28
30
|
disableOtherExtensions: false
|
|
29
31
|
});
|
|
30
32
|
// Note: fragile, but selenium does not give us a real way to check this
|
|
31
33
|
if (['headless', '--headless'].some(flag => { var _a, _b;
|
|
32
34
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
33
35
|
return (_b = (_a = opts === null || opts === void 0 ? void 0 : opts.options_) === null || _a === void 0 ? void 0 : _a.args) === null || _b === void 0 ? void 0 : _b.includes(flag); })) {
|
|
34
|
-
throw new
|
|
36
|
+
throw new headlessNotSupportedError_1.HeadlessNotSupportedError('In WebdriverJS, use "chromeOptions.addArguments(\'--headless=new\')" instead of "setHeadless(true)" or "addArguments(\'--headless\')"');
|
|
35
37
|
}
|
|
36
38
|
return opts;
|
|
37
39
|
}
|
package/dist/webdriver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webdriver.js","sourceRoot":"","sources":["../src/webdriver.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"webdriver.js","sourceRoot":"","sources":["../src/webdriver.ts"],"names":[],"mappings":";;;;;;AAmBA,0CA6BC;AA9CD,8DAAqC;AACrC,4EAA2E;AAC3E,iFAA6E;AAC7E,8EAAqD;AAErD,yDAAiE;AAAxD,kHAAA,UAAU,OAAiB;AAMpC;;;;GAIG;AAEH,SAAgB,eAAe,CAAC,GAAkB;;IAChD,gHAAgH;IAChH,oGAAoG;IACpG,MAAM,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAA;IAEnD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,CAAA;IAC5B,IAAA,wBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,MAAM,IAAI,GAAY,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAA;IAC9D,8DAA8D;IAC9D,MAAM,YAAY,GAAG,CAAC,CAAA,MAAC,IAAY,aAAZ,IAAI,uBAAJ,IAAI,CAAU,QAAQ,0CAAE,IAAI,KAAI,EAAE,CAAa,CAErE;IAAC,IAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAA,yBAAe,EAAC,YAAY,EAAE;QAC3D,sBAAsB,EAAE,KAAK;KAC9B,CAAC,CAAA;IAEF,wEAAwE;IACxE,IACE,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;IACrC,8DAA8D;IAC9D,OAAA,MAAA,MAAC,IAAY,aAAZ,IAAI,uBAAJ,IAAI,CAAU,QAAQ,0CAAE,IAAI,0CAAE,QAAQ,CAAC,IAAI,CAAC,CAAA,EAAA,CAC9C,EACD,CAAC;QACD,MAAM,IAAI,qDAAyB,CACjC,wIAAwI,CACzI,CAAA;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAa,mBAAoB,SAAQ,oBAAU;IAGjD,YAAY,MAAiB;QAC3B,KAAK,CAAC,EAAE,eAAe,EAAE,qBAAqB,EAAE,CAAC,CAAA;QACjD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAES,KAAK,CAAC,aAAa,CAC3B,EAA+B,EAC/B,GAAG,IAAe;QAElB,MAAM,MAAM,GAAG;;;gBAGH,EAAE;;KAEb,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAA;QACpE,OAAO,MAAW,CAAA;IACpB,CAAC;CACF;AArBD,kDAqBC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { WebDriver, Navigation, WebElement, TargetLocator } from 'selenium-webdriver';
|
|
2
|
-
import { type PossiblyWrapped } from './util';
|
|
3
2
|
import type { WebdriverController } from './webdriver';
|
|
3
|
+
import { type PossiblyWrapped } from './utils/proxyHandlers';
|
|
4
4
|
export declare const wrapDriver: (driver: PossiblyWrapped<WebDriver>, controller: WebdriverController) => WebDriver;
|
|
5
5
|
export declare const wrapNavigation: (navigation: PossiblyWrapped<Navigation>, controller: WebdriverController) => Navigation;
|
|
6
6
|
export declare const wrapTargetLocator: (locator: PossiblyWrapped<TargetLocator>, controller: WebdriverController) => TargetLocator;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.wrapElement = exports.wrapTargetLocator = exports.wrapNavigation = exports.wrapDriver = void 0;
|
|
4
|
-
const
|
|
4
|
+
const proxyHandlers_1 = require("./utils/proxyHandlers");
|
|
5
5
|
const wrapDriver = (driver, controller) => {
|
|
6
|
-
if ((0,
|
|
6
|
+
if ((0, proxyHandlers_1.isWrapped)(driver)) {
|
|
7
7
|
return driver;
|
|
8
8
|
}
|
|
9
9
|
const proxy = new Proxy(driver, {
|
|
@@ -34,18 +34,18 @@ const wrapDriver = (driver, controller) => {
|
|
|
34
34
|
case 'navigate':
|
|
35
35
|
return () => (0, exports.wrapNavigation)(target.navigate(), controller);
|
|
36
36
|
case 'get':
|
|
37
|
-
return (0,
|
|
37
|
+
return (0, proxyHandlers_1.proxiedGetFuncWithAnalyze)(target, prop, controller);
|
|
38
38
|
default:
|
|
39
|
-
return (0,
|
|
39
|
+
return (0, proxyHandlers_1.proxiedGetWithoutAnalyze)(target, prop);
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
});
|
|
43
|
-
(0,
|
|
43
|
+
(0, proxyHandlers_1.markAsWrapped)(proxy);
|
|
44
44
|
return proxy;
|
|
45
45
|
};
|
|
46
46
|
exports.wrapDriver = wrapDriver;
|
|
47
47
|
const wrapNavigation = (navigation, controller) => {
|
|
48
|
-
if ((0,
|
|
48
|
+
if ((0, proxyHandlers_1.isWrapped)(navigation)) {
|
|
49
49
|
return navigation;
|
|
50
50
|
}
|
|
51
51
|
const proxy = new Proxy(navigation, {
|
|
@@ -55,18 +55,18 @@ const wrapNavigation = (navigation, controller) => {
|
|
|
55
55
|
case 'forward':
|
|
56
56
|
case 'refresh':
|
|
57
57
|
case 'to':
|
|
58
|
-
return (0,
|
|
58
|
+
return (0, proxyHandlers_1.proxiedGetFuncWithAnalyze)(target, prop, controller);
|
|
59
59
|
default:
|
|
60
|
-
return (0,
|
|
60
|
+
return (0, proxyHandlers_1.proxiedGetWithoutAnalyze)(target, prop);
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
});
|
|
64
|
-
(0,
|
|
64
|
+
(0, proxyHandlers_1.markAsWrapped)(proxy);
|
|
65
65
|
return proxy;
|
|
66
66
|
};
|
|
67
67
|
exports.wrapNavigation = wrapNavigation;
|
|
68
68
|
const wrapTargetLocator = (locator, controller) => {
|
|
69
|
-
if ((0,
|
|
69
|
+
if ((0, proxyHandlers_1.isWrapped)(locator)) {
|
|
70
70
|
return locator;
|
|
71
71
|
}
|
|
72
72
|
const proxy = new Proxy(locator, {
|
|
@@ -78,16 +78,16 @@ const wrapTargetLocator = (locator, controller) => {
|
|
|
78
78
|
return (0, exports.wrapElement)(el, controller);
|
|
79
79
|
};
|
|
80
80
|
default:
|
|
81
|
-
return (0,
|
|
81
|
+
return (0, proxyHandlers_1.proxiedGetWithoutAnalyze)(target, prop);
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
});
|
|
85
|
-
(0,
|
|
85
|
+
(0, proxyHandlers_1.markAsWrapped)(proxy);
|
|
86
86
|
return proxy;
|
|
87
87
|
};
|
|
88
88
|
exports.wrapTargetLocator = wrapTargetLocator;
|
|
89
89
|
const wrapElement = (element, controller) => {
|
|
90
|
-
if ((0,
|
|
90
|
+
if ((0, proxyHandlers_1.isWrapped)(element)) {
|
|
91
91
|
return element;
|
|
92
92
|
}
|
|
93
93
|
const proxy = new Proxy(element, {
|
|
@@ -109,13 +109,13 @@ const wrapElement = (element, controller) => {
|
|
|
109
109
|
case 'click':
|
|
110
110
|
case 'sendKeys':
|
|
111
111
|
case 'submit':
|
|
112
|
-
return (0,
|
|
112
|
+
return (0, proxyHandlers_1.proxiedGetFuncWithAnalyze)(target, prop, controller);
|
|
113
113
|
default:
|
|
114
|
-
return (0,
|
|
114
|
+
return (0, proxyHandlers_1.proxiedGetWithoutAnalyze)(target, prop);
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
});
|
|
118
|
-
(0,
|
|
118
|
+
(0, proxyHandlers_1.markAsWrapped)(proxy);
|
|
119
119
|
return proxy;
|
|
120
120
|
};
|
|
121
121
|
exports.wrapElement = wrapElement;
|