@axe-core/watcher 3.15.2 → 3.16.0-next.0ddae970
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/Controller.d.ts +1 -1
- package/dist/Controller.js +33 -34
- package/dist/Controller.js.map +1 -1
- package/dist/cypress.d.ts +1 -0
- package/dist/cypress.js +7 -1
- package/dist/cypress.js.map +1 -1
- package/dist/cypressCommands.js +64 -42
- package/dist/cypressCommands.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js.map +1 -1
- package/dist/playwright.d.ts +1 -1
- package/dist/playwright.js +6 -1
- package/dist/playwright.js.map +1 -1
- package/dist/playwrightTest.d.ts +9 -3
- package/dist/playwrightTest.js +10 -5
- package/dist/playwrightTest.js.map +1 -1
- package/dist/playwrightWrapping.d.ts +1 -0
- package/dist/playwrightWrapping.js +15 -7
- package/dist/playwrightWrapping.js.map +1 -1
- package/dist/puppeteer.js +4 -0
- package/dist/puppeteer.js.map +1 -1
- package/dist/utils/assertVariablesWereWritten.d.ts +1 -0
- package/dist/utils/assertVariablesWereWritten.js +15 -0
- package/dist/utils/assertVariablesWereWritten.js.map +1 -0
- package/dist/utils/checkUserArgs.d.ts +8 -0
- package/dist/utils/checkUserArgs.js +10 -0
- package/dist/utils/checkUserArgs.js.map +1 -0
- package/dist/utils/proxyHandlers.d.ts +2 -0
- package/dist/utils/proxyHandlers.js +14 -1
- package/dist/utils/proxyHandlers.js.map +1 -1
- package/dist/wdio.js +5 -0
- package/dist/wdio.js.map +1 -1
- package/dist/webdriver.js +4 -0
- package/dist/webdriver.js.map +1 -1
- package/extension/axe.js +1 -1
- package/extension/axe.js.LICENSE.txt +1 -1
- package/extension/background.js +1 -1
- package/extension/content.js +1 -1
- package/package.json +6 -6
- package/dist/utils/headlessNotSupportedError.test.d.ts +0 -1
- package/dist/utils/headlessNotSupportedError.test.js +0 -21
- package/dist/utils/headlessNotSupportedError.test.js.map +0 -1
- package/dist/utils/initializeSession.test.d.ts +0 -1
- package/dist/utils/initializeSession.test.js +0 -177
- package/dist/utils/initializeSession.test.js.map +0 -1
- package/dist/utils/isValidExcludePattern.test.d.ts +0 -1
- package/dist/utils/isValidExcludePattern.test.js +0 -17
- package/dist/utils/isValidExcludePattern.test.js.map +0 -1
- package/dist/utils/mergeChromeArgs.test.d.ts +0 -1
- package/dist/utils/mergeChromeArgs.test.js +0 -257
- package/dist/utils/mergeChromeArgs.test.js.map +0 -1
- package/dist/utils/proxyHandlers.test.d.ts +0 -1
- package/dist/utils/proxyHandlers.test.js +0 -27
- package/dist/utils/proxyHandlers.test.js.map +0 -1
- package/dist/utils/validateAxeRunContext.test.d.ts +0 -1
- package/dist/utils/validateAxeRunContext.test.js +0 -97
- package/dist/utils/validateAxeRunContext.test.js.map +0 -1
- package/dist/utils/validateAxeRunOptions.test.d.ts +0 -1
- package/dist/utils/validateAxeRunOptions.test.js +0 -215
- package/dist/utils/validateAxeRunOptions.test.js.map +0 -1
- package/dist/utils/writeVariables.test.d.ts +0 -1
- package/dist/utils/writeVariables.test.js +0 -200
- package/dist/utils/writeVariables.test.js.map +0 -1
package/dist/Controller.d.ts
CHANGED
@@ -8,7 +8,7 @@ declare abstract class Controller {
|
|
8
8
|
protected isStopped: boolean;
|
9
9
|
protected debugLogger: Debugger;
|
10
10
|
constructor({ debugLoggerName }: ControllerParams);
|
11
|
-
start():
|
11
|
+
start(): void;
|
12
12
|
stop(): Promise<void>;
|
13
13
|
analyze({ __Method, __UserRequestedAnalyze }?: {
|
14
14
|
__Method?: string;
|
package/dist/Controller.js
CHANGED
@@ -3,7 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
const updateAutoAnalyze_1 = __importDefault(require("./utils/updateAutoAnalyze"));
|
7
6
|
const sendResultsToServer_1 = __importDefault(require("./sendResultsToServer"));
|
8
7
|
const createDebugger_1 = __importDefault(require("./createDebugger"));
|
9
8
|
class Controller {
|
@@ -11,44 +10,39 @@ class Controller {
|
|
11
10
|
this.isStopped = false;
|
12
11
|
this.debugLogger = (0, createDebugger_1.default)(debugLoggerName);
|
13
12
|
}
|
14
|
-
|
15
|
-
(
|
13
|
+
start() {
|
14
|
+
this.debugLogger(`Start: Invoked`);
|
16
15
|
this.isStopped = false;
|
17
|
-
await this.executeScript(() => {
|
18
|
-
if (!['http:', 'https:', 'file:'].includes(window.location.protocol)) {
|
19
|
-
return Promise.resolve();
|
20
|
-
}
|
21
|
-
return new Promise(resolve => {
|
22
|
-
const fn = () => {
|
23
|
-
window.removeEventListener('axe:start-auto-mode-done', fn);
|
24
|
-
resolve();
|
25
|
-
};
|
26
|
-
window.addEventListener('axe:start-auto-mode-done', fn);
|
27
|
-
const event = new CustomEvent('axe:start-auto-mode');
|
28
|
-
window.dispatchEvent(event);
|
29
|
-
});
|
30
|
-
});
|
31
16
|
}
|
32
17
|
async stop() {
|
33
|
-
(
|
34
|
-
this.isStopped
|
35
|
-
|
18
|
+
this.debugLogger(`Stop: Invoked (${this.isStopped ? 'not analyzing' : 'may analyze implicitly'})`);
|
19
|
+
if (this.isStopped) {
|
20
|
+
return;
|
21
|
+
}
|
22
|
+
const result = await this.executeScript(() => {
|
36
23
|
if (!['http:', 'https:', 'file:'].includes(window.location.protocol)) {
|
37
|
-
return Promise.resolve();
|
24
|
+
return Promise.resolve({ message: 'Skipped - Invalid protocol' });
|
38
25
|
}
|
39
26
|
return new Promise(resolve => {
|
40
|
-
const fn = () => {
|
41
|
-
window.removeEventListener('axe:
|
42
|
-
resolve();
|
27
|
+
const fn = (event) => {
|
28
|
+
window.removeEventListener('axe:manual-mode-analyze-done', fn);
|
29
|
+
resolve(event.detail);
|
43
30
|
};
|
44
|
-
window.addEventListener('axe:
|
45
|
-
const event = new CustomEvent('axe:
|
31
|
+
window.addEventListener('axe:manual-mode-analyze-done', fn);
|
32
|
+
const event = new CustomEvent('axe:manual-mode-analyze', {
|
33
|
+
detail: { userRequestedAnalyze: false }
|
34
|
+
});
|
46
35
|
window.dispatchEvent(event);
|
47
36
|
});
|
48
37
|
});
|
38
|
+
this.debugLogger(`Stop: ${result.message}`);
|
39
|
+
this.isStopped = true;
|
49
40
|
}
|
50
41
|
async analyze({ __Method, __UserRequestedAnalyze = true } = {}) {
|
51
|
-
this.debugLogger(`Analyze: Invoked${__Method ? ` - ${__Method}` : ''}
|
42
|
+
this.debugLogger(`Analyze: Invoked${__Method ? ` - ${__Method}` : ''}`, {
|
43
|
+
isStopped: this.isStopped,
|
44
|
+
__UserRequestedAnalyze
|
45
|
+
});
|
52
46
|
if (this.isStopped && !__UserRequestedAnalyze) {
|
53
47
|
this.debugLogger('Analyze: Skipped', {
|
54
48
|
isStopped: this.isStopped,
|
@@ -56,7 +50,7 @@ class Controller {
|
|
56
50
|
});
|
57
51
|
return;
|
58
52
|
}
|
59
|
-
const result = await this.executeScript((userRequestedAnalyze) => {
|
53
|
+
const result = await this.executeScript(({ userRequestedAnalyze, isStopped }) => {
|
60
54
|
if (!['http:', 'https:', 'file:'].includes(window.location.protocol)) {
|
61
55
|
return Promise.resolve({ message: 'Skipped - Invalid protocol' });
|
62
56
|
}
|
@@ -67,16 +61,19 @@ class Controller {
|
|
67
61
|
};
|
68
62
|
window.addEventListener('axe:manual-mode-analyze-done', fn);
|
69
63
|
const event = new CustomEvent('axe:manual-mode-analyze', {
|
70
|
-
detail: { userRequestedAnalyze }
|
64
|
+
detail: { userRequestedAnalyze, isStopped }
|
71
65
|
});
|
72
66
|
window.dispatchEvent(event);
|
73
67
|
});
|
74
|
-
},
|
68
|
+
}, {
|
69
|
+
userRequestedAnalyze: __UserRequestedAnalyze,
|
70
|
+
isStopped: this.isStopped
|
71
|
+
});
|
75
72
|
this.debugLogger(`Analyze: ${result.message}`);
|
76
73
|
}
|
77
74
|
async flush() {
|
78
|
-
this.debugLogger(
|
79
|
-
const results = await this.executeScript(() => {
|
75
|
+
this.debugLogger(`Flush: Invoked (${this.isStopped ? 'auto-analysis stopped' : 'may analyze implicitly'})`);
|
76
|
+
const results = await this.executeScript((isStopped) => {
|
80
77
|
if (!['http:', 'https:', 'file:'].includes(window.location.protocol)) {
|
81
78
|
return Promise.resolve([]);
|
82
79
|
}
|
@@ -92,10 +89,12 @@ class Controller {
|
|
92
89
|
};
|
93
90
|
window.addEventListener('axe:result', onAxeResult);
|
94
91
|
window.addEventListener('axe:flush-end', onFlushEnd);
|
95
|
-
const event = new CustomEvent('axe:flush-start'
|
92
|
+
const event = new CustomEvent('axe:flush-start', {
|
93
|
+
detail: { isStopped }
|
94
|
+
});
|
96
95
|
window.dispatchEvent(event);
|
97
96
|
});
|
98
|
-
});
|
97
|
+
}, this.isStopped);
|
99
98
|
this.debugLogger(`Flush: Received ${results.length} results`);
|
100
99
|
await (0, sendResultsToServer_1.default)({
|
101
100
|
results,
|
package/dist/Controller.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Controller.js","sourceRoot":"","sources":["../src/Controller.ts"],"names":[],"mappings":";;;;;AAAA,
|
1
|
+
{"version":3,"file":"Controller.js","sourceRoot":"","sources":["../src/Controller.ts"],"names":[],"mappings":"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"}
|
package/dist/cypress.d.ts
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
import { type Configuration } from './utils/writeVariables';
|
2
2
|
export declare const cypressConfigRunFlag = "__AXE_WATCHER_CYPRESS_CONFIG_RUN";
|
3
|
+
export declare const cypressConfigAutoAnalyzeFlag = "__AXE_WATCHER_AUTO_ANALYZE";
|
3
4
|
/**
|
4
5
|
* Create a Cypress config that uses the axe Watcher extension.
|
5
6
|
*
|
package/dist/cypress.js
CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.cypressConfig = exports.cypressConfigRunFlag = void 0;
|
6
|
+
exports.cypressConfig = exports.cypressConfigAutoAnalyzeFlag = exports.cypressConfigRunFlag = void 0;
|
7
7
|
const sendResultsToServer_1 = __importDefault(require("./sendResultsToServer"));
|
8
8
|
const EventForwarder_1 = __importDefault(require("./EventForwarder"));
|
9
9
|
const writeVariables_1 = __importDefault(require("./utils/writeVariables"));
|
@@ -11,8 +11,10 @@ const writeExtensionManifest_1 = __importDefault(require("./utils/writeExtension
|
|
11
11
|
const headlessNotSupportedError_1 = require("./utils/headlessNotSupportedError");
|
12
12
|
const mergeChromeArgs_1 = __importDefault(require("./utils/mergeChromeArgs"));
|
13
13
|
const createDebugger_1 = __importDefault(require("./createDebugger"));
|
14
|
+
const checkUserArgs_1 = require("./utils/checkUserArgs");
|
14
15
|
const debugLogger = (0, createDebugger_1.default)('CypressController');
|
15
16
|
exports.cypressConfigRunFlag = '__AXE_WATCHER_CYPRESS_CONFIG_RUN';
|
17
|
+
exports.cypressConfigAutoAnalyzeFlag = '__AXE_WATCHER_AUTO_ANALYZE';
|
16
18
|
const cypressConfig = (config) => {
|
17
19
|
var _a;
|
18
20
|
const { axe, ...userConfig } = config;
|
@@ -44,6 +46,9 @@ const cypressConfig = (config) => {
|
|
44
46
|
__AXE_WATCHER_DEBUG: hasWatcherDebug
|
45
47
|
});
|
46
48
|
}
|
49
|
+
userConfig.env = Object.assign({}, userConfig.env, {
|
50
|
+
[exports.cypressConfigAutoAnalyzeFlag]: axe.autoAnalyze === undefined ? true : axe.autoAnalyze
|
51
|
+
});
|
47
52
|
return {
|
48
53
|
...userConfig,
|
49
54
|
e2e: {
|
@@ -84,6 +89,7 @@ const cypressConfig = (config) => {
|
|
84
89
|
throw new headlessNotSupportedError_1.HeadlessNotSupportedError('In Cypress, "--headless=new" became the default headless mode in Cypress version 12.15.0. Ensure your Cypress version is up to date and that you are not using a "before:browser:launch" configuration that adds "--headless" to launchOptions.args.');
|
85
90
|
}
|
86
91
|
const existingArgs = launchOptions.args;
|
92
|
+
(0, checkUserArgs_1.checkUserArgs)(existingArgs);
|
87
93
|
launchOptions.args = (0, mergeChromeArgs_1.default)(existingArgs, {
|
88
94
|
disableOtherExtensions: false
|
89
95
|
});
|
package/dist/cypress.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cypress.js","sourceRoot":"","sources":["../src/cypress.ts"],"names":[],"mappings":";;;;;;AACA,gFAAuD;AACvD,sEAA6C;AAC7C,4EAA2E;AAC3E,4FAA0D;AAC1D,iFAA6E;AAC7E,8EAAqD;AACrD,sEAA6C;
|
1
|
+
{"version":3,"file":"cypress.js","sourceRoot":"","sources":["../src/cypress.ts"],"names":[],"mappings":"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"}
|
package/dist/cypressCommands.js
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.WRAPPED_COMMANDS = void 0;
|
4
|
-
const
|
5
|
-
|
4
|
+
const cypressConfigRunFlag = '__AXE_WATCHER_CYPRESS_CONFIG_RUN';
|
5
|
+
const cypressConfigAutoAnalyzeFlag = '__AXE_WATCHER_AUTO_ANALYZE';
|
6
|
+
let isStopped = !Cypress.env(cypressConfigAutoAnalyzeFlag);
|
6
7
|
exports.WRAPPED_COMMANDS = [
|
7
8
|
'blur',
|
8
9
|
'check',
|
@@ -28,7 +29,7 @@ const logDebugAxeWatcher = ({ message }) => {
|
|
28
29
|
}
|
29
30
|
};
|
30
31
|
const shouldAnalyzeLocation = (location) => ['http:', 'https:', 'file:'].includes(location.protocol);
|
31
|
-
if (!Cypress.env(
|
32
|
+
if (!Cypress.env(cypressConfigRunFlag)) {
|
32
33
|
throw new Error(`Cypress is not configured for axe watcher. Please ensure that axe watcher's cypressConfig() is invoked within Cypress' defineConfig() in your ${Cypress.config('configFile')}. All tests will fail with this error.`);
|
33
34
|
}
|
34
35
|
exports.WRAPPED_COMMANDS.forEach(method => Cypress.Commands.overwrite(method, (originalFn, ...args) => {
|
@@ -75,7 +76,9 @@ Cypress.Commands.addQuery('__axeRestoreSubject', function (subjectChain, timeout
|
|
75
76
|
return () => cy.getSubjectFromChain(subjectChain);
|
76
77
|
});
|
77
78
|
function axeWatcherFlushCommand() {
|
78
|
-
logDebugAxeWatcher({
|
79
|
+
logDebugAxeWatcher({
|
80
|
+
message: `Flush: Invoked (${isStopped ? 'will not' : 'may'} analyze implicitly)`
|
81
|
+
});
|
79
82
|
cy.window().then(win => {
|
80
83
|
if (!shouldAnalyzeLocation(win.location)) {
|
81
84
|
return Promise.resolve();
|
@@ -92,7 +95,9 @@ function axeWatcherFlushCommand() {
|
|
92
95
|
};
|
93
96
|
win.addEventListener('axe:flush-end', onFlushEnd);
|
94
97
|
win.addEventListener('axe:result', onAxeResult);
|
95
|
-
const event = new CustomEvent('axe:flush-start'
|
98
|
+
const event = new CustomEvent('axe:flush-start', {
|
99
|
+
detail: { isStopped }
|
100
|
+
});
|
96
101
|
win.dispatchEvent(event);
|
97
102
|
}).then(results => {
|
98
103
|
cy.task('__uploadAxeWatcherResults', { results }, { log: false });
|
@@ -103,77 +108,94 @@ function axeWatcherFlushCommand() {
|
|
103
108
|
const doesCypressCommandExist = (commandName) => {
|
104
109
|
return !!Cypress.cy[commandName];
|
105
110
|
};
|
106
|
-
function axeWatcherAnalyzeCommand({ __Method, __UserRequestedAnalyze = true } = {}) {
|
111
|
+
function axeWatcherAnalyzeCommand(subject, { __Method, __UserRequestedAnalyze = true } = {}) {
|
112
|
+
const userRequestedAnalyze = __UserRequestedAnalyze;
|
113
|
+
const message = userRequestedAnalyze
|
114
|
+
? 'User requested analysis'
|
115
|
+
: `Invoked${__Method ? ` - ${__Method}` : ''}`;
|
107
116
|
logDebugAxeWatcher({
|
108
|
-
message: `Analyze:
|
117
|
+
message: `Analyze: ${message}`
|
109
118
|
});
|
110
|
-
const userRequestedAnalyze = __UserRequestedAnalyze;
|
111
119
|
cy.window().then(win => {
|
112
120
|
if (!shouldAnalyzeLocation(win.location)) {
|
113
|
-
|
121
|
+
logDebugAxeWatcher({
|
122
|
+
message: `Analyze: Skipped - invalid protocol`
|
123
|
+
});
|
124
|
+
return Promise.resolve({
|
125
|
+
message: `Skipped - Invalid protocol`,
|
126
|
+
subject
|
127
|
+
});
|
114
128
|
}
|
115
129
|
if (isStopped && !userRequestedAnalyze) {
|
116
|
-
|
130
|
+
logDebugAxeWatcher({
|
131
|
+
message: `Analyze: Skipped - manual mode`
|
132
|
+
});
|
133
|
+
return Promise.resolve({ message: `Skipped (Manual mode)`, subject });
|
117
134
|
}
|
118
135
|
return new Promise(resolve => {
|
119
136
|
const fn = (event) => {
|
120
137
|
win.removeEventListener('axe:manual-mode-analyze-done', fn);
|
121
|
-
resolve(event.detail);
|
138
|
+
resolve({ message: event.detail.message, subject });
|
122
139
|
};
|
123
140
|
win.addEventListener('axe:manual-mode-analyze-done', fn);
|
124
141
|
const event = new CustomEvent('axe:manual-mode-analyze', {
|
125
|
-
detail: { userRequestedAnalyze }
|
142
|
+
detail: { userRequestedAnalyze, isCypress: true }
|
126
143
|
});
|
127
144
|
win.dispatchEvent(event);
|
128
145
|
}).then(result => {
|
129
146
|
logDebugAxeWatcher({ message: `Analyze: ${result === null || result === void 0 ? void 0 : result.message}` });
|
147
|
+
if (result === null || result === void 0 ? void 0 : result.subject) {
|
148
|
+
return result.subject;
|
149
|
+
}
|
130
150
|
});
|
131
151
|
});
|
132
152
|
}
|
133
|
-
function axeWatcherStartCommand() {
|
134
|
-
cy.window().then(
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
return new Promise(resolve => {
|
139
|
-
const fn = () => {
|
140
|
-
win.removeEventListener('axe:start-auto-mode-done', fn);
|
141
|
-
resolve();
|
142
|
-
};
|
143
|
-
win.addEventListener('axe:start-auto-mode-done', fn);
|
144
|
-
const event = new CustomEvent('axe:start-auto-mode');
|
145
|
-
win.dispatchEvent(event);
|
146
|
-
}).then(() => {
|
147
|
-
isStopped = false;
|
148
|
-
});
|
153
|
+
function axeWatcherStartCommand(subject) {
|
154
|
+
cy.window().then(() => {
|
155
|
+
logDebugAxeWatcher({ message: `Start: Invoked` });
|
156
|
+
isStopped = false;
|
157
|
+
return Promise.resolve(subject);
|
149
158
|
});
|
150
159
|
}
|
151
|
-
function axeWatcherStopCommand() {
|
160
|
+
function axeWatcherStopCommand(subject) {
|
161
|
+
logDebugAxeWatcher({ message: `Stop: Invoked` });
|
152
162
|
cy.window().then(win => {
|
153
163
|
if (!shouldAnalyzeLocation(win.location)) {
|
154
|
-
|
164
|
+
logDebugAxeWatcher({
|
165
|
+
message: `Stop: Skipped - invalid protocol`
|
166
|
+
});
|
167
|
+
return Promise.resolve({
|
168
|
+
message: `Skipped - Invalid protocol`,
|
169
|
+
subject
|
170
|
+
});
|
155
171
|
}
|
156
172
|
return new Promise(resolve => {
|
157
|
-
const fn = () => {
|
158
|
-
win.removeEventListener('axe:
|
159
|
-
resolve();
|
173
|
+
const fn = (event) => {
|
174
|
+
win.removeEventListener('axe:manual-mode-analyze-done', fn);
|
175
|
+
resolve({ message: event.detail.message, subject });
|
160
176
|
};
|
161
|
-
win.addEventListener('axe:
|
162
|
-
const event = new CustomEvent('axe:
|
177
|
+
win.addEventListener('axe:manual-mode-analyze-done', fn);
|
178
|
+
const event = new CustomEvent('axe:manual-mode-analyze', {
|
179
|
+
detail: { isCypress: true }
|
180
|
+
});
|
163
181
|
win.dispatchEvent(event);
|
164
|
-
}).then(
|
182
|
+
}).then(result => {
|
183
|
+
logDebugAxeWatcher({ message: `Stop: ${result === null || result === void 0 ? void 0 : result.message}` });
|
165
184
|
isStopped = true;
|
185
|
+
if (result === null || result === void 0 ? void 0 : result.subject) {
|
186
|
+
return result.subject;
|
187
|
+
}
|
166
188
|
});
|
167
189
|
});
|
168
190
|
}
|
169
191
|
if (!doesCypressCommandExist('axeAnalyze')) {
|
170
|
-
Cypress.Commands.add('
|
192
|
+
Cypress.Commands.add('axeWatcherAnalyze', { prevSubject: 'optional' }, axeWatcherAnalyzeCommand);
|
171
193
|
}
|
172
194
|
Cypress.Commands.add('axeFlush', axeWatcherFlushCommand);
|
173
|
-
Cypress.Commands.add('axeStop', axeWatcherStopCommand);
|
174
|
-
Cypress.Commands.add('axeStart', axeWatcherStartCommand);
|
175
|
-
Cypress.Commands.add('axeWatcherAnalyze', axeWatcherAnalyzeCommand);
|
176
|
-
Cypress.Commands.add('axeWatcherStart', axeWatcherStartCommand);
|
177
|
-
Cypress.Commands.add('axeWatcherStop', axeWatcherStopCommand);
|
195
|
+
Cypress.Commands.add('axeStop', { prevSubject: 'optional' }, axeWatcherStopCommand);
|
196
|
+
Cypress.Commands.add('axeStart', { prevSubject: 'optional' }, axeWatcherStartCommand);
|
197
|
+
Cypress.Commands.add('axeWatcherAnalyze', { prevSubject: 'optional' }, axeWatcherAnalyzeCommand);
|
198
|
+
Cypress.Commands.add('axeWatcherStart', { prevSubject: 'optional' }, axeWatcherStartCommand);
|
199
|
+
Cypress.Commands.add('axeWatcherStop', { prevSubject: 'optional' }, axeWatcherStopCommand);
|
178
200
|
Cypress.Commands.add('axeWatcherFlush', axeWatcherFlushCommand);
|
179
201
|
//# sourceMappingURL=cypressCommands.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cypressCommands.js","sourceRoot":"","sources":["../src/cypressCommands.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"cypressCommands.js","sourceRoot":"","sources":["../src/cypressCommands.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
@@ -3,5 +3,5 @@ export { puppeteerConfig, PuppeteerController, wrapPuppeteer, wrapPuppeteerPage
|
|
3
3
|
export { wdioConfig, wdioTestRunner, WdioController, wrapWdio } from './wdio';
|
4
4
|
export { webdriverConfig, WebdriverController, wrapWebdriver } from './webdriver';
|
5
5
|
export { playwrightConfig, PlaywrightController, wrapPlaywright, wrapPlaywrightPage } from './playwright';
|
6
|
-
export { default as playwrightTest } from './playwrightTest';
|
6
|
+
export { default as playwrightTest, type PageWithAxeWatcher as PlaywrightTestPageWithAxeWatcher } from './playwrightTest';
|
7
7
|
export { cypressConfig } from './cypress';
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;;;;AAEpD,yCAKoB;AAJlB,4GAAA,eAAe,OAAA;AACf,gHAAA,mBAAmB,OAAA;AACnB,0GAAA,aAAa,OAAA;AACb,8GAAA,iBAAiB,OAAA;AAEnB,+BAA6E;AAApE,kGAAA,UAAU,OAAA;AAAE,sGAAA,cAAc,OAAA;AAAE,sGAAA,cAAc,OAAA;AAAE,gGAAA,QAAQ,OAAA;AAC7D,yCAIoB;AAHlB,4GAAA,eAAe,OAAA;AACf,gHAAA,mBAAmB,OAAA;AACnB,0GAAA,aAAa,OAAA;AAEf,2CAKqB;AAJnB,8GAAA,gBAAgB,OAAA;AAChB,kHAAA,oBAAoB,OAAA;AACpB,4GAAA,cAAc,OAAA;AACd,gHAAA,kBAAkB,OAAA;AAEpB,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;;;;AAEpD,yCAKoB;AAJlB,4GAAA,eAAe,OAAA;AACf,gHAAA,mBAAmB,OAAA;AACnB,0GAAA,aAAa,OAAA;AACb,8GAAA,iBAAiB,OAAA;AAEnB,+BAA6E;AAApE,kGAAA,UAAU,OAAA;AAAE,sGAAA,cAAc,OAAA;AAAE,sGAAA,cAAc,OAAA;AAAE,gGAAA,QAAQ,OAAA;AAC7D,yCAIoB;AAHlB,4GAAA,eAAe,OAAA;AACf,gHAAA,mBAAmB,OAAA;AACnB,0GAAA,aAAa,OAAA;AAEf,2CAKqB;AAJnB,8GAAA,gBAAgB,OAAA;AAChB,kHAAA,oBAAoB,OAAA;AACpB,4GAAA,cAAc,OAAA;AACd,gHAAA,kBAAkB,OAAA;AAEpB,mDAGyB;AAFvB,iIAAA,OAAO,OAAkB;AAG3B,qCAAyC;AAAhC,wGAAA,aAAa,OAAA"}
|
package/dist/playwright.d.ts
CHANGED
@@ -11,7 +11,7 @@ export type Options = Configuration & LaunchOptions;
|
|
11
11
|
export declare function playwrightConfig(opts: Options): LaunchOptions;
|
12
12
|
export declare class PlaywrightController extends Controller {
|
13
13
|
private driver;
|
14
|
-
constructor(driver: Page);
|
14
|
+
constructor(driver: Page, isStopped?: boolean);
|
15
15
|
protected executeScript<T>(fn: string | (() => Promise<T>), ...args: unknown[]): Promise<T>;
|
16
16
|
}
|
17
17
|
/**
|
package/dist/playwright.js
CHANGED
@@ -9,9 +9,12 @@ const Controller_1 = __importDefault(require("./Controller"));
|
|
9
9
|
const headlessNotSupportedError_1 = require("./utils/headlessNotSupportedError");
|
10
10
|
const mergeChromeArgs_1 = __importDefault(require("./utils/mergeChromeArgs"));
|
11
11
|
const writeVariables_1 = __importDefault(require("./utils/writeVariables"));
|
12
|
+
const checkUserArgs_1 = require("./utils/checkUserArgs");
|
13
|
+
const assertVariablesWereWritten_1 = require("./utils/assertVariablesWereWritten");
|
12
14
|
function playwrightConfig(opts) {
|
13
15
|
const { axe, ...config } = opts;
|
14
16
|
let { args = [] } = config;
|
17
|
+
(0, checkUserArgs_1.checkUserArgs)(args);
|
15
18
|
(0, writeVariables_1.default)(axe);
|
16
19
|
if (config.headless) {
|
17
20
|
throw new headlessNotSupportedError_1.HeadlessNotSupportedError('In Playwright, include "--headless=new" in the "args" property of your options instead of using "headless: true"');
|
@@ -25,9 +28,11 @@ function playwrightConfig(opts) {
|
|
25
28
|
};
|
26
29
|
}
|
27
30
|
class PlaywrightController extends Controller_1.default {
|
28
|
-
constructor(driver) {
|
31
|
+
constructor(driver, isStopped = false) {
|
29
32
|
super({ debugLoggerName: 'PlaywrightController' });
|
33
|
+
(0, assertVariablesWereWritten_1.assertVariablesWereWritten)('Playwright', 'playwrightConfig()');
|
30
34
|
this.driver = driver;
|
35
|
+
this.isStopped = isStopped;
|
31
36
|
}
|
32
37
|
async executeScript(fn, ...args) {
|
33
38
|
const [arg] = args || [];
|
package/dist/playwright.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"playwright.js","sourceRoot":"","sources":["../src/playwright.ts"],"names":[],"mappings":";;;;;;
|
1
|
+
{"version":3,"file":"playwright.js","sourceRoot":"","sources":["../src/playwright.ts"],"names":[],"mappings":";;;;;;AAiBA,4CAqBC;AArCD,8DAAqC;AACrC,iFAA6E;AAC7E,8EAAqD;AACrD,4EAA2E;AAC3E,yDAAqD;AACrD,mFAA+E;AAW/E,SAAgB,gBAAgB,CAAC,IAAa;IAC5C,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;IAC/B,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,MAAM,CAAA;IAE1B,IAAA,6BAAa,EAAC,IAAI,CAAC,CAAA;IACnB,IAAA,wBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,IAAI,qDAAyB,CACjC,kHAAkH,CACnH,CAAA;IACH,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAA;IACzB,IAAI,GAAG,IAAA,yBAAe,EAAC,YAAY,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC,CAAA;IAEtE,OAAO;QACL,GAAG,MAAM;QACT,QAAQ,EAAE,KAAK;QACf,IAAI;KACL,CAAA;AACH,CAAC;AAED,MAAa,oBAAqB,SAAQ,oBAAU;IAGlD,YAAY,MAAY,EAAE,SAAS,GAAG,KAAK;QACzC,KAAK,CAAC,EAAE,eAAe,EAAE,sBAAsB,EAAE,CAAC,CAAA;QAElD,IAAA,uDAA0B,EAAC,YAAY,EAAE,oBAAoB,CAAC,CAAA;QAE9D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAES,KAAK,CAAC,aAAa,CAC3B,EAA+B,EAC/B,GAAG,IAAe;QAElB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,CAAA;QACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAI,EAAE,EAAE,GAAG,CAAC,CAAA;QACrD,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AApBD,oDAoBC;AAKM,MAAM,cAAc,GAAG,CAE5B,cAA8B,EAE9B,oBAA0C,EAC1B,EAAE;IAClB,MAAM,IAAI,KAAK,CAAC;;;;;;GAMf,CAAC,CAAA;AACJ,CAAC,CAAA;AAbY,QAAA,cAAc,kBAa1B;AAED,2DAAqE;AAA5D,wHAAA,QAAQ,OAAsB"}
|
package/dist/playwrightTest.d.ts
CHANGED
@@ -1,6 +1,12 @@
|
|
1
|
-
import type { TestType, PlaywrightTestArgs, PlaywrightTestOptions, PlaywrightWorkerArgs, PlaywrightWorkerOptions, Expect } from '@playwright/test';
|
2
|
-
import { type Options } from './playwright';
|
3
|
-
type
|
1
|
+
import type { TestType, Page, PlaywrightTestArgs, PlaywrightTestOptions, PlaywrightWorkerArgs, PlaywrightWorkerOptions, Expect } from '@playwright/test';
|
2
|
+
import { PlaywrightController, type Options } from './playwright';
|
3
|
+
export type PageWithAxeWatcher = Page & {
|
4
|
+
axeWatcher: PlaywrightController;
|
5
|
+
};
|
6
|
+
type Test = TestType<PlaywrightTestArgs & PlaywrightTestOptions & Fixtures, PlaywrightWorkerArgs & PlaywrightWorkerOptions>;
|
7
|
+
type Fixtures = {
|
8
|
+
page: PageWithAxeWatcher;
|
9
|
+
};
|
4
10
|
interface ReturnValue {
|
5
11
|
test: Test;
|
6
12
|
expect: Expect;
|
package/dist/playwrightTest.js
CHANGED
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const playwright_1 = require("./playwright");
|
7
7
|
const mergeChromeArgs_1 = __importDefault(require("./utils/mergeChromeArgs"));
|
8
8
|
const writeVariables_1 = __importDefault(require("./utils/writeVariables"));
|
9
|
+
const checkUserArgs_1 = require("./utils/checkUserArgs");
|
9
10
|
const playwrightTest = (options) => {
|
10
11
|
let controller = null;
|
11
12
|
const { axe, ...config } = options;
|
@@ -18,6 +19,8 @@ const playwrightTest = (options) => {
|
|
18
19
|
catch (error) {
|
19
20
|
throw new Error('Unable to load @playwright/test: ' + error.message);
|
20
21
|
}
|
22
|
+
const isStopped = typeof axe.autoAnalyze === 'undefined' ? false : !axe.autoAnalyze;
|
23
|
+
(0, checkUserArgs_1.checkUserArgs)(config.args || []);
|
21
24
|
(0, writeVariables_1.default)(axe);
|
22
25
|
const test = base.extend({
|
23
26
|
context: async ({}, use) => {
|
@@ -31,14 +34,16 @@ const playwrightTest = (options) => {
|
|
31
34
|
await context.close();
|
32
35
|
},
|
33
36
|
page: async ({ page }, use) => {
|
34
|
-
controller =
|
35
|
-
|
37
|
+
controller = page.axeWatcher;
|
38
|
+
if (!controller) {
|
39
|
+
controller = new playwright_1.PlaywrightController(page, isStopped);
|
40
|
+
page.axeWatcher = controller;
|
41
|
+
page = (0, playwright_1.wrapPlaywrightPage)(page, controller);
|
42
|
+
}
|
36
43
|
await use(page);
|
44
|
+
await controller.flush();
|
37
45
|
}
|
38
46
|
});
|
39
|
-
test.afterEach(async () => {
|
40
|
-
await (controller === null || controller === void 0 ? void 0 : controller.flush());
|
41
|
-
});
|
42
47
|
const expect = test.expect;
|
43
48
|
return { test, expect };
|
44
49
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"playwrightTest.js","sourceRoot":"","sources":["../src/playwrightTest.ts"],"names":[],"mappings":";;;;;
|
1
|
+
{"version":3,"file":"playwrightTest.js","sourceRoot":"","sources":["../src/playwrightTest.ts"],"names":[],"mappings":";;;;;AAWA,6CAIqB;AACrB,8EAAqD;AACrD,4EAAmD;AACnD,yDAAqD;AA4BrD,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAe,EAAE;IACvD,IAAI,UAAU,GAAgC,IAAI,CAAA;IAClD,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,CAAA;IAIlC,IAAI,IAAU,CAAA;IACd,IAAI,QAAsC,CAAA;IAC1C,IAAI,CAAC;QAEH,CAAC;QAAA,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAA;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,mCAAmC,GAAI,KAAe,CAAC,OAAO,CAC/D,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GACb,OAAO,GAAG,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAA;IAEnE,IAAA,6BAAa,EAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IAChC,IAAA,wBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAW;QAMjC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE;YACzB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,uBAAuB,CAAC,EAAE,EAAE;gBACzD,GAAG,MAAM;gBACT,IAAI,EAAE,IAAA,yBAAe,EAAC,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE;oBACvC,sBAAsB,EAAE,IAAI;iBAC7B,CAAC;aACH,CAAC,CAAA;YACF,MAAM,GAAG,CAAC,OAAO,CAAC,CAAA;YAClB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;QACvB,CAAC;QACD,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE;YAC5B,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;YAC5B,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,UAAU,GAAG,IAAI,iCAAoB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;gBACtD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;gBAC5B,IAAI,GAAG,IAAA,+BAAkB,EAAC,IAAI,EAAE,UAAU,CAAuB,CAAA;YACnE,CAAC;YAED,MAAM,GAAG,CAAC,IAAI,CAAC,CAAA;YAEf,MAAM,UAAU,CAAC,KAAK,EAAE,CAAA;QAC1B,CAAC;KACF,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAE1B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;AACzB,CAAC,CAAA;AAED,kBAAe,cAAc,CAAA"}
|
@@ -9,6 +9,7 @@ export declare const wrapFrame: (frame: PossiblyWrapped<Frame>, controller: Play
|
|
9
9
|
export declare const wrapFrameLocator: (frameLocator: PossiblyWrapped<FrameLocator>, controller: PlaywrightController) => FrameLocator;
|
10
10
|
export declare const wrapLocator: (locator: PossiblyWrapped<Locator>, controller: PlaywrightController) => Locator;
|
11
11
|
export declare const wrapJSHandle: (jsHandle: PossiblyWrapped<JSHandle>, controller: PlaywrightController) => JSHandle;
|
12
|
+
export declare const wrapSmartHandle: (smartHandle: PossiblyWrapped<JSHandle | ElementHandle>, controller: PlaywrightController) => JSHandle | ElementHandle;
|
12
13
|
export declare const wrapKeyboard: (keyboard: PossiblyWrapped<Keyboard>, controller: PlaywrightController) => Keyboard;
|
13
14
|
export declare const wrapMouse: (mouse: PossiblyWrapped<Mouse>, controller: PlaywrightController) => Mouse;
|
14
15
|
export declare const wrapTouchscreen: (touchscreen: PossiblyWrapped<Touchscreen>, controller: PlaywrightController) => Touchscreen;
|