@axe-core/watcher 3.16.1-next.fcb81b3e → 3.16.1-rc.e32cdaab
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.d.ts +1 -5
- package/dist/Controller.js +32 -59
- package/dist/Controller.js.map +1 -1
- package/dist/cypress.d.ts +0 -2
- package/dist/cypress.js +5 -11
- package/dist/cypress.js.map +1 -1
- package/dist/cypressCommands.js +31 -86
- package/dist/cypressCommands.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js.map +1 -1
- package/dist/playwright.js +1 -7
- package/dist/playwright.js.map +1 -1
- package/dist/playwrightTest.d.ts +3 -9
- package/dist/playwrightTest.js +5 -9
- package/dist/playwrightTest.js.map +1 -1
- package/dist/playwrightWrapping.d.ts +0 -1
- package/dist/playwrightWrapping.js +7 -15
- package/dist/playwrightWrapping.js.map +1 -1
- package/dist/puppeteer.js +1 -7
- package/dist/puppeteer.js.map +1 -1
- package/dist/sendResultsToServer.d.ts +1 -2
- package/dist/sendResultsToServer.js.map +1 -1
- 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.js +3 -5
- package/dist/utils/initializeSession.js.map +1 -1
- package/dist/utils/initializeSession.test.d.ts +1 -0
- package/dist/utils/initializeSession.test.js +177 -0
- package/dist/utils/initializeSession.test.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.test.d.ts +1 -0
- package/dist/utils/mergeChromeArgs.test.js +257 -0
- package/dist/utils/mergeChromeArgs.test.js.map +1 -0
- package/dist/utils/proxyHandlers.d.ts +0 -2
- package/dist/utils/proxyHandlers.js +1 -14
- package/dist/utils/proxyHandlers.js.map +1 -1
- package/dist/utils/proxyHandlers.test.d.ts +1 -0
- package/dist/utils/proxyHandlers.test.js +27 -0
- package/dist/utils/proxyHandlers.test.js.map +1 -0
- package/dist/utils/updateAutoAnalyze.d.ts +7 -0
- package/dist/utils/updateAutoAnalyze.js +15 -0
- package/dist/utils/updateAutoAnalyze.js.map +1 -0
- package/dist/utils/validateAxeRunContext.test.d.ts +1 -0
- package/dist/utils/validateAxeRunContext.test.js +97 -0
- package/dist/utils/validateAxeRunContext.test.js.map +1 -0
- package/dist/utils/validateAxeRunOptions.d.ts +1 -1
- package/dist/utils/validateAxeRunOptions.test.d.ts +1 -0
- package/dist/utils/validateAxeRunOptions.test.js +215 -0
- package/dist/utils/validateAxeRunOptions.test.js.map +1 -0
- package/dist/utils/writeVariables.test.d.ts +1 -0
- package/dist/utils/writeVariables.test.js +200 -0
- package/dist/utils/writeVariables.test.js.map +1 -0
- package/dist/wdio.js +1 -8
- package/dist/wdio.js.map +1 -1
- package/dist/webdriver.js +1 -7
- 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 +5 -5
- package/dist/utils/assertVariablesWereWritten.d.ts +0 -1
- package/dist/utils/assertVariablesWereWritten.js +0 -16
- package/dist/utils/assertVariablesWereWritten.js.map +0 -1
- package/dist/utils/checkUserArgs.d.ts +0 -8
- package/dist/utils/checkUserArgs.js +0 -10
- package/dist/utils/checkUserArgs.js.map +0 -1
- package/dist/utils/runOptions.d.ts +0 -16
- package/dist/utils/runOptions.js +0 -3
- package/dist/utils/runOptions.js.map +0 -1
package/dist/Controller.d.ts
CHANGED
@@ -2,16 +2,12 @@ import type { Debugger } from 'debug';
|
|
2
2
|
interface ControllerParams {
|
3
3
|
/** The namespace for the debug logger. */
|
4
4
|
debugLoggerName: string;
|
5
|
-
/** The name of the integration. Used for variables assertion */
|
6
|
-
integrationName?: string;
|
7
|
-
/** Configuration function name. Use for variables assertion */
|
8
|
-
configurationFunction?: string;
|
9
5
|
}
|
10
6
|
declare abstract class Controller {
|
11
7
|
protected abstract executeScript<A = unknown, T = void>(fn: string | ((...args: A[]) => Promise<T>), ...args: unknown[]): Promise<T>;
|
12
8
|
protected isStopped: boolean;
|
13
9
|
protected debugLogger: Debugger;
|
14
|
-
constructor({ debugLoggerName
|
10
|
+
constructor({ debugLoggerName }: ControllerParams);
|
15
11
|
start(): Promise<void>;
|
16
12
|
stop(): Promise<void>;
|
17
13
|
analyze({ __Method, __UserRequestedAnalyze }?: {
|
package/dist/Controller.js
CHANGED
@@ -3,80 +3,61 @@ 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
|
6
|
+
const updateAutoAnalyze_1 = __importDefault(require("./utils/updateAutoAnalyze"));
|
7
7
|
const sendResultsToServer_1 = __importDefault(require("./sendResultsToServer"));
|
8
8
|
const createDebugger_1 = __importDefault(require("./createDebugger"));
|
9
|
-
const assertVariablesWereWritten_1 = require("./utils/assertVariablesWereWritten");
|
10
9
|
class Controller {
|
11
|
-
constructor({ debugLoggerName
|
12
|
-
|
13
|
-
const variables = (0, readVariables_1.default)();
|
14
|
-
this.isStopped = !(variables === null || variables === void 0 ? void 0 : variables.auto_analyze);
|
10
|
+
constructor({ debugLoggerName }) {
|
11
|
+
this.isStopped = false;
|
15
12
|
this.debugLogger = (0, createDebugger_1.default)(debugLoggerName);
|
16
13
|
}
|
17
14
|
async start() {
|
18
|
-
|
19
|
-
|
15
|
+
(0, updateAutoAnalyze_1.default)(true);
|
16
|
+
this.isStopped = false;
|
17
|
+
await this.executeScript(() => {
|
18
|
+
if (!['http:', 'https:', 'file:'].includes(window.location.protocol)) {
|
19
|
+
return Promise.resolve();
|
20
|
+
}
|
20
21
|
return new Promise(resolve => {
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
const fn = (event) => {
|
25
|
-
window.removeEventListener('axe:manual-mode-clean-done', fn);
|
26
|
-
resolve({ message: event.detail.message });
|
22
|
+
const fn = () => {
|
23
|
+
window.removeEventListener('axe:start-auto-mode-done', fn);
|
24
|
+
resolve();
|
27
25
|
};
|
28
|
-
window.addEventListener('axe:
|
29
|
-
const event = new CustomEvent('axe:
|
26
|
+
window.addEventListener('axe:start-auto-mode-done', fn);
|
27
|
+
const event = new CustomEvent('axe:start-auto-mode');
|
30
28
|
window.dispatchEvent(event);
|
31
29
|
});
|
32
30
|
});
|
33
|
-
this.debugLogger(`Start: ${result.message}`);
|
34
|
-
this.isStopped = false;
|
35
31
|
}
|
36
32
|
async stop() {
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
}
|
41
|
-
const result = await this.executeScript(() => {
|
33
|
+
(0, updateAutoAnalyze_1.default)(false);
|
34
|
+
this.isStopped = true;
|
35
|
+
await this.executeScript(() => {
|
42
36
|
if (!['http:', 'https:', 'file:'].includes(window.location.protocol)) {
|
43
|
-
return Promise.resolve(
|
37
|
+
return Promise.resolve();
|
44
38
|
}
|
45
39
|
return new Promise(resolve => {
|
46
|
-
const fn = (
|
47
|
-
window.removeEventListener('axe:
|
48
|
-
resolve(
|
40
|
+
const fn = () => {
|
41
|
+
window.removeEventListener('axe:stop-auto-mode-done', fn);
|
42
|
+
resolve();
|
49
43
|
};
|
50
|
-
window.addEventListener('axe:
|
51
|
-
const event = new CustomEvent('axe:
|
52
|
-
detail: { userRequestedAnalyze: false }
|
53
|
-
});
|
44
|
+
window.addEventListener('axe:stop-auto-mode-done', fn);
|
45
|
+
const event = new CustomEvent('axe:stop-auto-mode');
|
54
46
|
window.dispatchEvent(event);
|
55
47
|
});
|
56
48
|
});
|
57
|
-
this.debugLogger(`Stop: ${result.message}`);
|
58
|
-
this.isStopped = true;
|
59
49
|
}
|
60
50
|
async analyze({ __Method, __UserRequestedAnalyze = true } = {}) {
|
61
|
-
this.debugLogger(`Analyze: Invoked${__Method ? ` - ${__Method}` : ''}
|
62
|
-
isStopped: this.isStopped,
|
63
|
-
userRequestedAnalyze: __UserRequestedAnalyze
|
64
|
-
});
|
51
|
+
this.debugLogger(`Analyze: Invoked${__Method ? ` - ${__Method}` : ''}`);
|
65
52
|
if (this.isStopped && !__UserRequestedAnalyze) {
|
66
53
|
this.debugLogger('Analyze: Skipped', {
|
67
54
|
isStopped: this.isStopped,
|
68
|
-
|
55
|
+
__UserRequestedAnalyze
|
69
56
|
});
|
70
57
|
return;
|
71
58
|
}
|
72
|
-
const result = await this.executeScript((
|
59
|
+
const result = await this.executeScript((userRequestedAnalyze) => {
|
73
60
|
if (!['http:', 'https:', 'file:'].includes(window.location.protocol)) {
|
74
|
-
if (userRequestedAnalyze) {
|
75
|
-
return Promise.resolve({
|
76
|
-
message: `Cannot perform analysis - invalid protocol: ${window.location.protocol}`,
|
77
|
-
error: true
|
78
|
-
});
|
79
|
-
}
|
80
61
|
return Promise.resolve({ message: 'Skipped - Invalid protocol' });
|
81
62
|
}
|
82
63
|
return new Promise(resolve => {
|
@@ -86,22 +67,16 @@ class Controller {
|
|
86
67
|
};
|
87
68
|
window.addEventListener('axe:manual-mode-analyze-done', fn);
|
88
69
|
const event = new CustomEvent('axe:manual-mode-analyze', {
|
89
|
-
detail: { userRequestedAnalyze
|
70
|
+
detail: { userRequestedAnalyze }
|
90
71
|
});
|
91
72
|
window.dispatchEvent(event);
|
92
73
|
});
|
93
|
-
},
|
94
|
-
userRequestedAnalyze: __UserRequestedAnalyze,
|
95
|
-
isStopped: this.isStopped
|
96
|
-
});
|
74
|
+
}, __UserRequestedAnalyze);
|
97
75
|
this.debugLogger(`Analyze: ${result.message}`);
|
98
|
-
if (result.error) {
|
99
|
-
throw new Error(result.message);
|
100
|
-
}
|
101
76
|
}
|
102
77
|
async flush() {
|
103
|
-
this.debugLogger(
|
104
|
-
const results = await this.executeScript((
|
78
|
+
this.debugLogger('Flush: Invoked (may analyze implicitly)');
|
79
|
+
const results = await this.executeScript(() => {
|
105
80
|
if (!['http:', 'https:', 'file:'].includes(window.location.protocol)) {
|
106
81
|
return Promise.resolve([]);
|
107
82
|
}
|
@@ -117,12 +92,10 @@ class Controller {
|
|
117
92
|
};
|
118
93
|
window.addEventListener('axe:result', onAxeResult);
|
119
94
|
window.addEventListener('axe:flush-end', onFlushEnd);
|
120
|
-
const event = new CustomEvent('axe:flush-start'
|
121
|
-
detail: { isStopped }
|
122
|
-
});
|
95
|
+
const event = new CustomEvent('axe:flush-start');
|
123
96
|
window.dispatchEvent(event);
|
124
97
|
});
|
125
|
-
}
|
98
|
+
});
|
126
99
|
this.debugLogger(`Flush: Received ${results.length} results`);
|
127
100
|
await (0, sendResultsToServer_1.default)({
|
128
101
|
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,6 +1,4 @@
|
|
1
1
|
import { type Configuration } from './utils/writeVariables';
|
2
|
-
export declare const cypressConfigRunFlag = "__AXE_WATCHER_CYPRESS_CONFIG_RUN";
|
3
|
-
export declare const cypressConfigAutoAnalyzeFlag = "__AXE_WATCHER_AUTO_ANALYZE";
|
4
2
|
/**
|
5
3
|
* Create a Cypress config that uses the axe Watcher extension.
|
6
4
|
*
|
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 =
|
6
|
+
exports.cypressConfig = 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,10 +11,8 @@ 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");
|
15
14
|
const debugLogger = (0, createDebugger_1.default)('CypressController');
|
16
|
-
|
17
|
-
exports.cypressConfigAutoAnalyzeFlag = '__AXE_WATCHER_AUTO_ANALYZE';
|
15
|
+
const cypressConfigRunFlag = '__AXE_WATCHER_CYPRESS_CONFIG_RUN';
|
18
16
|
const cypressConfig = (config) => {
|
19
17
|
var _a;
|
20
18
|
const { axe, ...userConfig } = config;
|
@@ -33,12 +31,12 @@ const cypressConfig = (config) => {
|
|
33
31
|
});
|
34
32
|
if ((_a = userConfig.e2e) === null || _a === void 0 ? void 0 : _a.env) {
|
35
33
|
userConfig.e2e.env = Object.assign({}, userConfig.e2e.env, {
|
36
|
-
[
|
34
|
+
[cypressConfigRunFlag]: true
|
37
35
|
});
|
38
36
|
}
|
39
37
|
else {
|
40
38
|
userConfig.env = Object.assign({}, userConfig.env, {
|
41
|
-
[
|
39
|
+
[cypressConfigRunFlag]: true
|
42
40
|
});
|
43
41
|
}
|
44
42
|
if (hasWatcherDebug) {
|
@@ -46,9 +44,6 @@ const cypressConfig = (config) => {
|
|
46
44
|
__AXE_WATCHER_DEBUG: hasWatcherDebug
|
47
45
|
});
|
48
46
|
}
|
49
|
-
userConfig.env = Object.assign({}, userConfig.env, {
|
50
|
-
[exports.cypressConfigAutoAnalyzeFlag]: axe.autoAnalyze === undefined ? true : axe.autoAnalyze
|
51
|
-
});
|
52
47
|
return {
|
53
48
|
...userConfig,
|
54
49
|
e2e: {
|
@@ -60,7 +55,7 @@ const cypressConfig = (config) => {
|
|
60
55
|
const userNodeEventConfig = await ((_b = (_a = userConfig.e2e) === null || _a === void 0 ? void 0 : _a.setupNodeEvents) === null || _b === void 0 ? void 0 : _b.call(_a, on, ...args));
|
61
56
|
if (userNodeEventConfig) {
|
62
57
|
userNodeEventConfig.env = Object.assign({}, userNodeEventConfig.env, {
|
63
|
-
[
|
58
|
+
[cypressConfigRunFlag]: true
|
64
59
|
});
|
65
60
|
}
|
66
61
|
on('task', {
|
@@ -89,7 +84,6 @@ const cypressConfig = (config) => {
|
|
89
84
|
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.');
|
90
85
|
}
|
91
86
|
const existingArgs = launchOptions.args;
|
92
|
-
(0, checkUserArgs_1.checkUserArgs)(existingArgs);
|
93
87
|
launchOptions.args = (0, mergeChromeArgs_1.default)(existingArgs, {
|
94
88
|
disableOtherExtensions: false
|
95
89
|
});
|
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
@@ -2,8 +2,7 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.WRAPPED_COMMANDS = void 0;
|
4
4
|
const cypressConfigRunFlag = '__AXE_WATCHER_CYPRESS_CONFIG_RUN';
|
5
|
-
|
6
|
-
let isStopped = !Cypress.env(cypressConfigAutoAnalyzeFlag);
|
5
|
+
let isStopped = false;
|
7
6
|
exports.WRAPPED_COMMANDS = [
|
8
7
|
'blur',
|
9
8
|
'check',
|
@@ -76,9 +75,7 @@ Cypress.Commands.addQuery('__axeRestoreSubject', function (subjectChain, timeout
|
|
76
75
|
return () => cy.getSubjectFromChain(subjectChain);
|
77
76
|
});
|
78
77
|
function axeWatcherFlushCommand() {
|
79
|
-
logDebugAxeWatcher({
|
80
|
-
message: `Flush: Invoked (${isStopped ? 'will not' : 'may'} analyze implicitly)`
|
81
|
-
});
|
78
|
+
logDebugAxeWatcher({ message: 'Flush: Invoked (may analyze implicitly)' });
|
82
79
|
cy.window().then(win => {
|
83
80
|
if (!shouldAnalyzeLocation(win.location)) {
|
84
81
|
return Promise.resolve();
|
@@ -95,9 +92,7 @@ function axeWatcherFlushCommand() {
|
|
95
92
|
};
|
96
93
|
win.addEventListener('axe:flush-end', onFlushEnd);
|
97
94
|
win.addEventListener('axe:result', onAxeResult);
|
98
|
-
const event = new CustomEvent('axe:flush-start'
|
99
|
-
detail: { isStopped }
|
100
|
-
});
|
95
|
+
const event = new CustomEvent('axe:flush-start');
|
101
96
|
win.dispatchEvent(event);
|
102
97
|
}).then(results => {
|
103
98
|
cy.task('__uploadAxeWatcherResults', { results }, { log: false });
|
@@ -108,37 +103,22 @@ function axeWatcherFlushCommand() {
|
|
108
103
|
const doesCypressCommandExist = (commandName) => {
|
109
104
|
return !!Cypress.cy[commandName];
|
110
105
|
};
|
111
|
-
function axeWatcherAnalyzeCommand(
|
112
|
-
const userRequestedAnalyze = __UserRequestedAnalyze;
|
113
|
-
const message = userRequestedAnalyze
|
114
|
-
? 'User requested analysis'
|
115
|
-
: `Invoked${__Method ? ` - ${__Method}` : ''}`;
|
106
|
+
function axeWatcherAnalyzeCommand({ __Method, __UserRequestedAnalyze = true } = {}) {
|
116
107
|
logDebugAxeWatcher({
|
117
|
-
message: `Analyze: ${
|
108
|
+
message: `Analyze: Invoked${__Method ? ` - ${__Method}` : ''}`
|
118
109
|
});
|
110
|
+
const userRequestedAnalyze = __UserRequestedAnalyze;
|
119
111
|
cy.window().then(win => {
|
120
112
|
if (!shouldAnalyzeLocation(win.location)) {
|
121
|
-
|
122
|
-
message: `Analyze: Skipped - invalid protocol`
|
123
|
-
});
|
124
|
-
if (userRequestedAnalyze) {
|
125
|
-
return Promise.reject(new Error(`Cannot perform manual analysis - invalid protocol: ${win.location.protocol}`));
|
126
|
-
}
|
127
|
-
return Promise.resolve({
|
128
|
-
message: `Skipped - Invalid protocol`,
|
129
|
-
subject
|
130
|
-
});
|
113
|
+
return Promise.resolve({ message: `Skipped - Invalid protocol` });
|
131
114
|
}
|
132
115
|
if (isStopped && !userRequestedAnalyze) {
|
133
|
-
|
134
|
-
message: `Analyze: Skipped - manual mode`
|
135
|
-
});
|
136
|
-
return Promise.resolve({ message: `Skipped (Manual mode)`, subject });
|
116
|
+
return Promise.resolve({ message: `Skipped (Manual mode)` });
|
137
117
|
}
|
138
118
|
return new Promise(resolve => {
|
139
119
|
const fn = (event) => {
|
140
120
|
win.removeEventListener('axe:manual-mode-analyze-done', fn);
|
141
|
-
resolve(
|
121
|
+
resolve(event.detail);
|
142
122
|
};
|
143
123
|
win.addEventListener('axe:manual-mode-analyze-done', fn);
|
144
124
|
const event = new CustomEvent('axe:manual-mode-analyze', {
|
@@ -147,88 +127,53 @@ function axeWatcherAnalyzeCommand(subject, { __Method, __UserRequestedAnalyze =
|
|
147
127
|
win.dispatchEvent(event);
|
148
128
|
}).then(result => {
|
149
129
|
logDebugAxeWatcher({ message: `Analyze: ${result === null || result === void 0 ? void 0 : result.message}` });
|
150
|
-
if (result === null || result === void 0 ? void 0 : result.subject) {
|
151
|
-
return result.subject;
|
152
|
-
}
|
153
130
|
});
|
154
131
|
});
|
155
132
|
}
|
156
|
-
function axeWatcherStartCommand(
|
157
|
-
logDebugAxeWatcher({ message: 'Start: Invoked' });
|
133
|
+
function axeWatcherStartCommand() {
|
158
134
|
cy.window().then(win => {
|
159
135
|
if (!shouldAnalyzeLocation(win.location)) {
|
160
|
-
|
161
|
-
logDebugAxeWatcher({
|
162
|
-
message: 'Clean: Skipped - invalid protocol'
|
163
|
-
});
|
164
|
-
return Promise.resolve({
|
165
|
-
message: 'Clean: Skipped - Invalid protocol',
|
166
|
-
subject
|
167
|
-
});
|
136
|
+
return Promise.resolve();
|
168
137
|
}
|
169
138
|
return new Promise(resolve => {
|
170
|
-
const fn = (
|
171
|
-
win.removeEventListener('axe:
|
172
|
-
resolve(
|
139
|
+
const fn = () => {
|
140
|
+
win.removeEventListener('axe:start-auto-mode-done', fn);
|
141
|
+
resolve();
|
173
142
|
};
|
174
|
-
win.addEventListener('axe:
|
175
|
-
const event = new CustomEvent('axe:
|
143
|
+
win.addEventListener('axe:start-auto-mode-done', fn);
|
144
|
+
const event = new CustomEvent('axe:start-auto-mode');
|
176
145
|
win.dispatchEvent(event);
|
177
|
-
}).then(
|
178
|
-
logDebugAxeWatcher({
|
179
|
-
message: `Start: ${result === null || result === void 0 ? void 0 : result.message}`
|
180
|
-
});
|
146
|
+
}).then(() => {
|
181
147
|
isStopped = false;
|
182
|
-
if (result === null || result === void 0 ? void 0 : result.subject) {
|
183
|
-
return result.subject;
|
184
|
-
}
|
185
148
|
});
|
186
149
|
});
|
187
150
|
}
|
188
|
-
function axeWatcherStopCommand(
|
189
|
-
logDebugAxeWatcher({ message: `Stop: Invoked` });
|
151
|
+
function axeWatcherStopCommand() {
|
190
152
|
cy.window().then(win => {
|
191
153
|
if (!shouldAnalyzeLocation(win.location)) {
|
192
|
-
|
193
|
-
logDebugAxeWatcher({
|
194
|
-
message: `Stop: Skipped - invalid protocol`
|
195
|
-
});
|
196
|
-
return Promise.resolve({
|
197
|
-
message: `Skipped - Invalid protocol`,
|
198
|
-
subject
|
199
|
-
});
|
200
|
-
}
|
201
|
-
if (isStopped) {
|
202
|
-
logDebugAxeWatcher({
|
203
|
-
message: `Stop: Analysis skipped - manual mode`
|
204
|
-
});
|
205
|
-
return Promise.resolve({ message: `Skipped (Manual mode)`, subject });
|
154
|
+
return Promise.resolve();
|
206
155
|
}
|
207
156
|
return new Promise(resolve => {
|
208
|
-
const fn = (
|
209
|
-
win.removeEventListener('axe:
|
210
|
-
resolve(
|
157
|
+
const fn = () => {
|
158
|
+
win.removeEventListener('axe:stop-auto-mode-done', fn);
|
159
|
+
resolve();
|
211
160
|
};
|
212
|
-
win.addEventListener('axe:
|
213
|
-
const event = new CustomEvent('axe:
|
161
|
+
win.addEventListener('axe:stop-auto-mode-done', fn);
|
162
|
+
const event = new CustomEvent('axe:stop-auto-mode');
|
214
163
|
win.dispatchEvent(event);
|
215
|
-
}).then(
|
216
|
-
logDebugAxeWatcher({ message: `Stop: ${result === null || result === void 0 ? void 0 : result.message}` });
|
164
|
+
}).then(() => {
|
217
165
|
isStopped = true;
|
218
|
-
if (result === null || result === void 0 ? void 0 : result.subject) {
|
219
|
-
return result.subject;
|
220
|
-
}
|
221
166
|
});
|
222
167
|
});
|
223
168
|
}
|
224
169
|
if (!doesCypressCommandExist('axeAnalyze')) {
|
225
|
-
Cypress.Commands.add('
|
170
|
+
Cypress.Commands.add('axeAnalyze', axeWatcherAnalyzeCommand);
|
226
171
|
}
|
227
172
|
Cypress.Commands.add('axeFlush', axeWatcherFlushCommand);
|
228
|
-
Cypress.Commands.add('axeStop',
|
229
|
-
Cypress.Commands.add('axeStart',
|
230
|
-
Cypress.Commands.add('axeWatcherAnalyze',
|
231
|
-
Cypress.Commands.add('axeWatcherStart',
|
232
|
-
Cypress.Commands.add('axeWatcherStop',
|
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);
|
233
178
|
Cypress.Commands.add('axeWatcherFlush', axeWatcherFlushCommand);
|
234
179
|
//# sourceMappingURL=cypressCommands.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cypressCommands.js","sourceRoot":"","sources":["../src/cypressCommands.ts"],"names":[],"mappings":";;;AAYA,MAAM,oBAAoB,GAAG,kCAAkC,CAAA;
|
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
|
6
|
+
export { default as playwrightTest } 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,mDAA4D;AAAnD,iIAAA,OAAO,OAAkB;AAClC,qCAAyC;AAAhC,wGAAA,aAAa,OAAA"}
|
package/dist/playwright.js
CHANGED
@@ -9,11 +9,9 @@ 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
12
|
function playwrightConfig(opts) {
|
14
13
|
const { axe, ...config } = opts;
|
15
14
|
let { args = [] } = config;
|
16
|
-
(0, checkUserArgs_1.checkUserArgs)(args);
|
17
15
|
(0, writeVariables_1.default)(axe);
|
18
16
|
if (config.headless) {
|
19
17
|
throw new headlessNotSupportedError_1.HeadlessNotSupportedError('In Playwright, include "--headless=new" in the "args" property of your options instead of using "headless: true"');
|
@@ -28,11 +26,7 @@ function playwrightConfig(opts) {
|
|
28
26
|
}
|
29
27
|
class PlaywrightController extends Controller_1.default {
|
30
28
|
constructor(driver) {
|
31
|
-
super({
|
32
|
-
debugLoggerName: 'PlaywrightController',
|
33
|
-
integrationName: 'Playwright',
|
34
|
-
configurationFunction: 'playwrightConfig()'
|
35
|
-
});
|
29
|
+
super({ debugLoggerName: 'PlaywrightController' });
|
36
30
|
this.driver = driver;
|
37
31
|
}
|
38
32
|
async executeScript(fn, ...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":";;;;;;AAeA,4CAoBC;AAlCD,8DAAqC;AACrC,iFAA6E;AAC7E,8EAAqD;AACrD,4EAA2E;AAW3E,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,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;QACtB,KAAK,CAAC,EAAE,eAAe,EAAE,sBAAsB,EAAE,CAAC,CAAA;QAElD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,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;AAjBD,oDAiBC;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,12 +1,6 @@
|
|
1
|
-
import type { TestType,
|
2
|
-
import {
|
3
|
-
|
4
|
-
axeWatcher: PlaywrightController;
|
5
|
-
};
|
6
|
-
type Test = TestType<PlaywrightTestArgs & PlaywrightTestOptions & Fixtures, PlaywrightWorkerArgs & PlaywrightWorkerOptions>;
|
7
|
-
type Fixtures = {
|
8
|
-
page: PageWithAxeWatcher;
|
9
|
-
};
|
1
|
+
import type { TestType, PlaywrightTestArgs, PlaywrightTestOptions, PlaywrightWorkerArgs, PlaywrightWorkerOptions, Expect } from '@playwright/test';
|
2
|
+
import { type Options } from './playwright';
|
3
|
+
type Test = TestType<PlaywrightTestArgs & PlaywrightTestOptions, PlaywrightWorkerArgs & PlaywrightWorkerOptions>;
|
10
4
|
interface ReturnValue {
|
11
5
|
test: Test;
|
12
6
|
expect: Expect;
|
package/dist/playwrightTest.js
CHANGED
@@ -6,7 +6,6 @@ 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");
|
10
9
|
const playwrightTest = (options) => {
|
11
10
|
let controller = null;
|
12
11
|
const { axe, ...config } = options;
|
@@ -19,7 +18,6 @@ const playwrightTest = (options) => {
|
|
19
18
|
catch (error) {
|
20
19
|
throw new Error('Unable to load @playwright/test: ' + error.message);
|
21
20
|
}
|
22
|
-
(0, checkUserArgs_1.checkUserArgs)(config.args || []);
|
23
21
|
(0, writeVariables_1.default)(axe);
|
24
22
|
const test = base.extend({
|
25
23
|
context: async ({}, use) => {
|
@@ -33,16 +31,14 @@ const playwrightTest = (options) => {
|
|
33
31
|
await context.close();
|
34
32
|
},
|
35
33
|
page: async ({ page }, use) => {
|
36
|
-
controller = page
|
37
|
-
|
38
|
-
controller = new playwright_1.PlaywrightController(page);
|
39
|
-
page.axeWatcher = controller;
|
40
|
-
page = (0, playwright_1.wrapPlaywrightPage)(page, controller);
|
41
|
-
}
|
34
|
+
controller = new playwright_1.PlaywrightController(page);
|
35
|
+
page = (0, playwright_1.wrapPlaywrightPage)(page, controller);
|
42
36
|
await use(page);
|
43
|
-
await controller.flush();
|
44
37
|
}
|
45
38
|
});
|
39
|
+
test.afterEach(async () => {
|
40
|
+
await (controller === null || controller === void 0 ? void 0 : controller.flush());
|
41
|
+
});
|
46
42
|
const expect = test.expect;
|
47
43
|
return { test, expect };
|
48
44
|
};
|
@@ -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":";;;;;AAUA,6CAIqB;AACrB,8EAAqD;AACrD,4EAAmD;AAoBnD,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,IAAA,wBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QAMvB,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,iCAAoB,CAAC,IAAI,CAAC,CAAA;YAC3C,IAAI,GAAG,IAAA,+BAAkB,EAAC,IAAI,EAAE,UAAU,CAAC,CAAA;YAC3C,MAAM,GAAG,CAAC,IAAI,CAAC,CAAA;QACjB,CAAC;KACF,CAAC,CAAA;IAEF,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;QACxB,MAAM,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,EAAE,CAAA,CAAA;IAC3B,CAAC,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"}
|