@axe-core/watcher 1.8.2 → 2.0.0-next.12481f06
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 +71 -131
- package/dist/Controller.js.map +1 -1
- package/dist/cypress.d.ts +0 -4
- package/dist/cypress.js +10 -92
- package/dist/cypress.js.map +1 -1
- package/dist/cypressCommands.d.ts +6 -0
- package/dist/cypressCommands.js +112 -43
- package/dist/cypressCommands.js.map +1 -1
- package/dist/git.js +15 -21
- package/dist/git.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/playwright.d.ts +6 -2
- package/dist/playwright.js +23 -83
- package/dist/playwright.js.map +1 -1
- package/dist/playwrightTest.d.ts +16 -0
- package/dist/playwrightTest.js +75 -0
- package/dist/playwrightTest.js.map +1 -0
- package/dist/playwrightWrapping.d.ts +14 -0
- package/dist/playwrightWrapping.js +554 -0
- package/dist/playwrightWrapping.js.map +1 -0
- package/dist/puppeteer.d.ts +1 -1
- package/dist/puppeteer.js +17 -92
- package/dist/puppeteer.js.map +1 -1
- package/dist/puppeteerWrapping.d.ts +14 -0
- package/dist/puppeteerWrapping.js +432 -0
- package/dist/puppeteerWrapping.js.map +1 -0
- package/dist/util.d.ts +8 -0
- package/dist/util.js +42 -44
- package/dist/util.js.map +1 -1
- package/dist/validateApiKey.js +6 -7
- package/dist/validateApiKey.js.map +1 -1
- package/dist/wdio.js +45 -134
- package/dist/wdio.js.map +1 -1
- package/dist/webdriver.js +21 -84
- package/dist/webdriver.js.map +1 -1
- package/extension/background.js +1 -1
- package/extension/content.js +1 -1
- package/extension/manifest.json +1 -1
- package/package.json +6 -6
package/dist/util.js
CHANGED
|
@@ -1,19 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
3
|
if (k2 === undefined) k2 = k;
|
|
19
4
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -41,45 +26,41 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
41
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
42
27
|
};
|
|
43
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44
|
-
exports.writeManifest = exports.writeVariables = exports.HeadlessNotSupportedError = exports.extensionArgs = exports.PATH_TO_EXTENSION_VARIABLES = exports.PATH_TO_SESSION_FILE = exports.DEFAULT_SERVER_URL = exports.PATH_TO_EXTENSION = void 0;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
29
|
+
exports.markAsWrapped = exports.isWrapped = exports.writeManifest = exports.writeVariables = exports.HeadlessNotSupportedError = exports.extensionArgs = exports.PATH_TO_EXTENSION_VARIABLES = exports.PATH_TO_SESSION_FILE = exports.DEFAULT_SERVER_URL = exports.PATH_TO_EXTENSION = void 0;
|
|
30
|
+
const fs_1 = __importDefault(require("fs"));
|
|
31
|
+
const path_1 = __importDefault(require("path"));
|
|
32
|
+
const os_1 = __importDefault(require("os"));
|
|
33
|
+
const git = __importStar(require("./git"));
|
|
34
|
+
const validateApiKey_1 = __importDefault(require("./validateApiKey"));
|
|
50
35
|
exports.PATH_TO_EXTENSION = path_1.default.join(__dirname, '..', 'extension');
|
|
51
36
|
exports.DEFAULT_SERVER_URL = 'https://axe.deque.com/';
|
|
52
37
|
exports.PATH_TO_SESSION_FILE = path_1.default.join(os_1.default.tmpdir(), 'axe-watcher-session.json');
|
|
53
38
|
exports.PATH_TO_EXTENSION_VARIABLES = path_1.default.join(exports.PATH_TO_EXTENSION, 'variables.json');
|
|
54
39
|
exports.extensionArgs = [
|
|
55
|
-
|
|
56
|
-
|
|
40
|
+
`--disable-extensions-except=${exports.PATH_TO_EXTENSION}`,
|
|
41
|
+
`--load-extension=${exports.PATH_TO_EXTENSION}`
|
|
57
42
|
];
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
_this.name = 'HeadlessNotSupportedError';
|
|
63
|
-
return _this;
|
|
43
|
+
class HeadlessNotSupportedError extends Error {
|
|
44
|
+
constructor() {
|
|
45
|
+
super('Cannot use extension while headless.');
|
|
46
|
+
this.name = 'HeadlessNotSupportedError';
|
|
64
47
|
}
|
|
65
|
-
|
|
66
|
-
}(Error));
|
|
48
|
+
}
|
|
67
49
|
exports.HeadlessNotSupportedError = HeadlessNotSupportedError;
|
|
68
50
|
/** Write the user's settings to the disk, so the extension can load them. */
|
|
69
|
-
function writeVariables(
|
|
70
|
-
var apiKey = _a.apiKey, serverURL = _a.serverURL, sessionId = _a.sessionId, autoAnalyze = _a.autoAnalyze, cypress = _a.cypress, takeScreenshots = _a.takeScreenshots, _b = _a.validateApiKey, shouldValidateApiKey = _b === void 0 ? true : _b;
|
|
51
|
+
function writeVariables({ apiKey, serverURL, sessionId, autoAnalyze, cypress, takeScreenshots, validateApiKey: shouldValidateApiKey = true }) {
|
|
71
52
|
if (!serverURL) {
|
|
72
53
|
serverURL = exports.DEFAULT_SERVER_URL;
|
|
73
54
|
}
|
|
74
|
-
|
|
55
|
+
let urlString;
|
|
75
56
|
try {
|
|
76
57
|
urlString = new URL(serverURL).toString();
|
|
77
58
|
}
|
|
78
59
|
catch (err) {
|
|
79
|
-
throw new Error(
|
|
60
|
+
throw new Error(`Error when converting serverURL to URL. Ensure it is formatted properly: ${err}`);
|
|
80
61
|
}
|
|
81
62
|
if (shouldValidateApiKey) {
|
|
82
|
-
(0, validateApiKey_1.default)({ apiKey
|
|
63
|
+
(0, validateApiKey_1.default)({ apiKey, serverURL: urlString });
|
|
83
64
|
}
|
|
84
65
|
if (typeof autoAnalyze === 'undefined') {
|
|
85
66
|
autoAnalyze = true;
|
|
@@ -88,14 +69,14 @@ function writeVariables(_a) {
|
|
|
88
69
|
// This enables multi-process/multi-browser test suites to all use the same session ID.
|
|
89
70
|
if (!sessionId && fs_1.default.existsSync(exports.PATH_TO_SESSION_FILE)) {
|
|
90
71
|
try {
|
|
91
|
-
|
|
72
|
+
const data = JSON.parse(fs_1.default.readFileSync(exports.PATH_TO_SESSION_FILE, 'utf8'));
|
|
92
73
|
sessionId = data.id;
|
|
93
74
|
}
|
|
94
75
|
catch (error) {
|
|
95
|
-
throw new Error(
|
|
76
|
+
throw new Error(`Unable to read session configuration: ${error}`);
|
|
96
77
|
}
|
|
97
78
|
}
|
|
98
|
-
|
|
79
|
+
const variables = {
|
|
99
80
|
api_key: apiKey,
|
|
100
81
|
server_url: urlString,
|
|
101
82
|
session_id: sessionId,
|
|
@@ -107,7 +88,7 @@ function writeVariables(_a) {
|
|
|
107
88
|
if (git.isRepository()) {
|
|
108
89
|
variables.git_branch = git.getBranchName();
|
|
109
90
|
variables.git_default_branch = git.getDefaultBranchName();
|
|
110
|
-
|
|
91
|
+
const info = git.getCommitInfo();
|
|
111
92
|
variables.git_commit_sha = info === null || info === void 0 ? void 0 : info.hash;
|
|
112
93
|
variables.git_commit_author = info === null || info === void 0 ? void 0 : info.author;
|
|
113
94
|
variables.git_commit_email = info === null || info === void 0 ? void 0 : info.email;
|
|
@@ -119,13 +100,30 @@ function writeVariables(_a) {
|
|
|
119
100
|
}
|
|
120
101
|
exports.writeVariables = writeVariables;
|
|
121
102
|
/** Update the extension manifest file. */
|
|
122
|
-
function writeManifest(
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
var manifest = JSON.parse(fs_1.default.readFileSync(manifestPath, 'utf-8'));
|
|
103
|
+
function writeManifest({ all_frames, exclude_globs }) {
|
|
104
|
+
const manifestPath = path_1.default.join(exports.PATH_TO_EXTENSION, 'manifest.json');
|
|
105
|
+
const manifest = JSON.parse(fs_1.default.readFileSync(manifestPath, 'utf-8'));
|
|
126
106
|
manifest.content_scripts[0].all_frames = all_frames;
|
|
127
107
|
manifest.content_scripts[0].exclude_globs = exclude_globs;
|
|
128
108
|
fs_1.default.writeFileSync(manifestPath, JSON.stringify(manifest, null, 2));
|
|
129
109
|
}
|
|
130
110
|
exports.writeManifest = writeManifest;
|
|
111
|
+
const kWrapped = Symbol('axe watcher wrapped');
|
|
112
|
+
/** Is the given object wrapped? */
|
|
113
|
+
const isWrapped = (o) => {
|
|
114
|
+
if (!o) {
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
return o[kWrapped] === true;
|
|
118
|
+
};
|
|
119
|
+
exports.isWrapped = isWrapped;
|
|
120
|
+
/** Mark the given object as wrapped. */
|
|
121
|
+
const markAsWrapped = (o) => {
|
|
122
|
+
Object.defineProperty(o, kWrapped, {
|
|
123
|
+
configurable: false,
|
|
124
|
+
enumerable: false,
|
|
125
|
+
value: true
|
|
126
|
+
});
|
|
127
|
+
};
|
|
128
|
+
exports.markAsWrapped = markAsWrapped;
|
|
131
129
|
//# sourceMappingURL=util.js.map
|
package/dist/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
package/dist/validateApiKey.js
CHANGED
|
@@ -3,21 +3,20 @@ 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
|
-
|
|
7
|
-
|
|
6
|
+
const sync_request_1 = __importDefault(require("sync-request"));
|
|
7
|
+
const assert_1 = __importDefault(require("assert"));
|
|
8
8
|
/** Validate the given `apiKey`. This method is blocking and should not be called unnecessarily. */
|
|
9
|
-
|
|
10
|
-
var apiKey = _a.apiKey, serverURL = _a.serverURL;
|
|
9
|
+
const validateApiKey = ({ apiKey, serverURL }) => {
|
|
11
10
|
(0, assert_1.default)(apiKey, 'API key is required');
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
const url = new URL(`/api/api-keys/${apiKey}/validate/axe-devtools-watcher`, serverURL);
|
|
12
|
+
const res = (0, sync_request_1.default)('GET', url.toString(), {
|
|
14
13
|
maxRedirects: 2,
|
|
15
14
|
followRedirects: true,
|
|
16
15
|
maxRetries: 2,
|
|
17
16
|
retry: true,
|
|
18
17
|
retryDelay: 100
|
|
19
18
|
});
|
|
20
|
-
|
|
19
|
+
const body = JSON.parse(res.getBody('utf8'));
|
|
21
20
|
if (body.error) {
|
|
22
21
|
throw new Error(body.error);
|
|
23
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateApiKey.js","sourceRoot":"","sources":["../src/validateApiKey.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"validateApiKey.js","sourceRoot":"","sources":["../src/validateApiKey.ts"],"names":[],"mappings":";;;;;AAAA,gEAAkC;AAClC,oDAA2B;AAO3B,mGAAmG;AACnG,MAAM,cAAc,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,EAAU,EAAQ,EAAE;IAC7D,IAAA,gBAAM,EAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;IACrC,MAAM,GAAG,GAAG,IAAI,GAAG,CACjB,iBAAiB,MAAM,gCAAgC,EACvD,SAAS,CACV,CAAA;IACD,MAAM,GAAG,GAAG,IAAA,sBAAO,EAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE;QACzC,YAAY,EAAE,CAAC;QACf,eAAe,EAAE,IAAI;QACrB,UAAU,EAAE,CAAC;QACb,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,GAAG;KAChB,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;IAC5C,IAAI,IAAI,CAAC,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KAC5B;AACH,CAAC,CAAA;AAED,kBAAe,cAAc,CAAA"}
|
package/dist/wdio.js
CHANGED
|
@@ -1,30 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
var __assign = (this && this.__assign) || function () {
|
|
18
|
-
__assign = Object.assign || function(t) {
|
|
19
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
20
|
-
s = arguments[i];
|
|
21
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
22
|
-
t[p] = s[p];
|
|
23
|
-
}
|
|
24
|
-
return t;
|
|
25
|
-
};
|
|
26
|
-
return __assign.apply(this, arguments);
|
|
27
|
-
};
|
|
28
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
29
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
30
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -34,33 +8,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
34
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
35
9
|
});
|
|
36
10
|
};
|
|
37
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
38
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
39
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
40
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
41
|
-
function step(op) {
|
|
42
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
43
|
-
while (_) try {
|
|
44
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
45
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
46
|
-
switch (op[0]) {
|
|
47
|
-
case 0: case 1: t = op; break;
|
|
48
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
49
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
50
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
51
|
-
default:
|
|
52
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
53
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
54
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
55
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
56
|
-
if (t[2]) _.ops.pop();
|
|
57
|
-
_.trys.pop(); continue;
|
|
58
|
-
}
|
|
59
|
-
op = body.call(thisArg, _);
|
|
60
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
61
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
11
|
var __rest = (this && this.__rest) || function (s, e) {
|
|
65
12
|
var t = {};
|
|
66
13
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
@@ -77,11 +24,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
77
24
|
};
|
|
78
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
79
26
|
exports.wrapWdio = exports.WRAPPED_ELEMENT_METHODS = exports.WRAPPED_BROWSER_METHODS = exports.WdioController = exports.wdioTestRunner = exports.wdioConfig = void 0;
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
27
|
+
const uuid_1 = require("uuid");
|
|
28
|
+
const fs_1 = __importDefault(require("fs"));
|
|
29
|
+
const util_1 = require("./util");
|
|
30
|
+
const Controller_1 = __importDefault(require("./Controller"));
|
|
31
|
+
const noop = () => {
|
|
85
32
|
// Nothing.
|
|
86
33
|
};
|
|
87
34
|
/**
|
|
@@ -91,19 +38,19 @@ var noop = function () {
|
|
|
91
38
|
*/
|
|
92
39
|
function wdioConfig(_a) {
|
|
93
40
|
var _b;
|
|
94
|
-
var axe = _a
|
|
95
|
-
(0, util_1.writeVariables)(
|
|
41
|
+
var { axe } = _a, options = __rest(_a, ["axe"]);
|
|
42
|
+
(0, util_1.writeVariables)(Object.assign(Object.assign({}, axe), {
|
|
96
43
|
// Ensure the session ID persists between browsers, as
|
|
97
44
|
// WDIO creates a new instance for each test.
|
|
98
45
|
sessionId: axe.sessionId || (0, uuid_1.v4)() }));
|
|
99
46
|
// Disable eslint. Wdio doesn't export this property even though they support it.
|
|
100
47
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
101
|
-
|
|
102
|
-
|
|
48
|
+
const chromeOpts = ((_b = options.capabilities) === null || _b === void 0 ? void 0 : _b['goog:chromeOptions']) || {};
|
|
49
|
+
const args = chromeOpts.args || [];
|
|
103
50
|
if (args.includes('--headless')) {
|
|
104
51
|
throw new util_1.HeadlessNotSupportedError();
|
|
105
52
|
}
|
|
106
|
-
return
|
|
53
|
+
return Object.assign(Object.assign({}, options), { capabilities: Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.capabilities), { browserName: 'chrome', 'goog:chromeOptions': {
|
|
107
54
|
args: util_1.extensionArgs.concat(args)
|
|
108
55
|
} }) });
|
|
109
56
|
}
|
|
@@ -111,7 +58,7 @@ exports.wdioConfig = wdioConfig;
|
|
|
111
58
|
// Configuration.axe is not a namespace, therefore have to use ['axe'] instead of .axe
|
|
112
59
|
function wdioTestRunner(axe, config) {
|
|
113
60
|
(0, util_1.writeVariables)(axe);
|
|
114
|
-
|
|
61
|
+
const capabilities = config.capabilities || [
|
|
115
62
|
{
|
|
116
63
|
'goog:chromeOptions': {
|
|
117
64
|
args: []
|
|
@@ -119,35 +66,27 @@ function wdioTestRunner(axe, config) {
|
|
|
119
66
|
}
|
|
120
67
|
];
|
|
121
68
|
// has to be any because type is not exported
|
|
122
|
-
|
|
69
|
+
const firstCapability = capabilities[0];
|
|
123
70
|
firstCapability['goog:chromeOptions'] =
|
|
124
71
|
firstCapability['goog:chromeOptions'] || {};
|
|
125
|
-
|
|
72
|
+
const chromeOpts = firstCapability['goog:chromeOptions'];
|
|
126
73
|
chromeOpts.args = chromeOpts.args || [];
|
|
127
|
-
|
|
74
|
+
const args = chromeOpts.args;
|
|
128
75
|
if (args.includes('--headless')) {
|
|
129
76
|
throw new util_1.HeadlessNotSupportedError();
|
|
130
77
|
}
|
|
131
78
|
chromeOpts.args = util_1.extensionArgs.concat(args);
|
|
132
|
-
|
|
133
|
-
return
|
|
79
|
+
const { onPrepare = noop, onComplete = noop } = config;
|
|
80
|
+
return Object.assign(Object.assign({}, config), { capabilities,
|
|
134
81
|
// Write a static/persistent session to disk so that each worker uses the same session ID.
|
|
135
|
-
onPrepare
|
|
136
|
-
|
|
137
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
138
|
-
params[_i] = arguments[_i];
|
|
139
|
-
}
|
|
140
|
-
var sessionId = axe.sessionId || (0, uuid_1.v4)();
|
|
82
|
+
onPrepare(...params) {
|
|
83
|
+
const sessionId = axe.sessionId || (0, uuid_1.v4)();
|
|
141
84
|
fs_1.default.writeFileSync(util_1.PATH_TO_SESSION_FILE, JSON.stringify({ id: sessionId }));
|
|
142
85
|
// @ts-expect-error TS is angry about calling this ¯\_(ツ)_/¯
|
|
143
|
-
return onPrepare
|
|
144
|
-
},
|
|
86
|
+
return onPrepare(...params);
|
|
87
|
+
},
|
|
145
88
|
// Remove the file, preventing other sessions from reusing its ID.
|
|
146
|
-
onComplete
|
|
147
|
-
var params = [];
|
|
148
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
149
|
-
params[_i] = arguments[_i];
|
|
150
|
-
}
|
|
89
|
+
onComplete(...params) {
|
|
151
90
|
try {
|
|
152
91
|
fs_1.default.unlinkSync(util_1.PATH_TO_SESSION_FILE);
|
|
153
92
|
}
|
|
@@ -155,38 +94,27 @@ function wdioTestRunner(axe, config) {
|
|
|
155
94
|
// Oh well.
|
|
156
95
|
}
|
|
157
96
|
// @ts-expect-error TS is angry about calling this ¯\_(ツ)_/¯
|
|
158
|
-
return onComplete
|
|
97
|
+
return onComplete(...params);
|
|
159
98
|
} });
|
|
160
99
|
}
|
|
161
100
|
exports.wdioTestRunner = wdioTestRunner;
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
_this.driver = driver;
|
|
167
|
-
return _this;
|
|
101
|
+
class WdioController extends Controller_1.default {
|
|
102
|
+
constructor(driver) {
|
|
103
|
+
super();
|
|
104
|
+
this.driver = driver;
|
|
168
105
|
}
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
case 0:
|
|
179
|
-
script = "\n const callback = arguments[arguments.length - 1];\n Promise.resolve(...arguments)\n .then(".concat(fn, ")\n .then(callback);\n ");
|
|
180
|
-
return [4 /*yield*/, this.driver.executeAsync(script, args)];
|
|
181
|
-
case 1:
|
|
182
|
-
_a.sent();
|
|
183
|
-
return [2 /*return*/];
|
|
184
|
-
}
|
|
185
|
-
});
|
|
106
|
+
executeScript(fn, ...args) {
|
|
107
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
108
|
+
const script = `
|
|
109
|
+
const callback = arguments[arguments.length - 1];
|
|
110
|
+
Promise.resolve(...arguments)
|
|
111
|
+
.then(${fn})
|
|
112
|
+
.then(callback);
|
|
113
|
+
`;
|
|
114
|
+
yield this.driver.executeAsync(script, args);
|
|
186
115
|
});
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
}(Controller_1.default));
|
|
116
|
+
}
|
|
117
|
+
}
|
|
190
118
|
exports.WdioController = WdioController;
|
|
191
119
|
/** Webdriver `browser` methods. */
|
|
192
120
|
exports.WRAPPED_BROWSER_METHODS = [
|
|
@@ -217,33 +145,16 @@ exports.WRAPPED_ELEMENT_METHODS = [
|
|
|
217
145
|
'waitUntil'
|
|
218
146
|
];
|
|
219
147
|
/** Wrap the given WDIO `browser` object, ensuring axe-core analysis is run after each command. */
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
var res;
|
|
228
|
-
return __generator(this, function (_a) {
|
|
229
|
-
switch (_a.label) {
|
|
230
|
-
case 0: return [4 /*yield*/, fn.apply(void 0, args)];
|
|
231
|
-
case 1:
|
|
232
|
-
res = _a.sent();
|
|
233
|
-
return [4 /*yield*/, controller.analyze({ __UserRequestedAnalyze: false })];
|
|
234
|
-
case 2:
|
|
235
|
-
_a.sent();
|
|
236
|
-
return [2 /*return*/, res];
|
|
237
|
-
}
|
|
238
|
-
});
|
|
239
|
-
});
|
|
240
|
-
};
|
|
241
|
-
for (var _i = 0, WRAPPED_BROWSER_METHODS_1 = exports.WRAPPED_BROWSER_METHODS; _i < WRAPPED_BROWSER_METHODS_1.length; _i++) {
|
|
242
|
-
var method = WRAPPED_BROWSER_METHODS_1[_i];
|
|
148
|
+
const wrapWdio = (browser, controller) => {
|
|
149
|
+
const wrapper = (fn, ...args) => __awaiter(void 0, void 0, void 0, function* () {
|
|
150
|
+
const res = yield fn(...args);
|
|
151
|
+
yield controller.analyze({ __UserRequestedAnalyze: false });
|
|
152
|
+
return res;
|
|
153
|
+
});
|
|
154
|
+
for (const method of exports.WRAPPED_BROWSER_METHODS) {
|
|
243
155
|
browser.overwriteCommand(method, wrapper);
|
|
244
156
|
}
|
|
245
|
-
for (
|
|
246
|
-
var method = WRAPPED_ELEMENT_METHODS_1[_a];
|
|
157
|
+
for (const method of exports.WRAPPED_ELEMENT_METHODS) {
|
|
247
158
|
browser.overwriteCommand(method, wrapper, true);
|
|
248
159
|
}
|
|
249
160
|
return browser;
|
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.js
CHANGED
|
@@ -1,19 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
19
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -23,49 +8,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
23
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
24
9
|
});
|
|
25
10
|
};
|
|
26
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
27
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
28
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
29
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
30
|
-
function step(op) {
|
|
31
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
32
|
-
while (_) try {
|
|
33
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
34
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
35
|
-
switch (op[0]) {
|
|
36
|
-
case 0: case 1: t = op; break;
|
|
37
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
38
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
39
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
40
|
-
default:
|
|
41
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
42
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
43
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
44
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
45
|
-
if (t[2]) _.ops.pop();
|
|
46
|
-
_.trys.pop(); continue;
|
|
47
|
-
}
|
|
48
|
-
op = body.call(thisArg, _);
|
|
49
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
50
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
54
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
55
|
-
if (ar || !(i in from)) {
|
|
56
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
57
|
-
ar[i] = from[i];
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
61
|
-
};
|
|
62
11
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
63
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
64
13
|
};
|
|
65
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
66
15
|
exports.WebdriverController = exports.webdriverConfig = void 0;
|
|
67
|
-
|
|
68
|
-
|
|
16
|
+
const util_1 = require("./util");
|
|
17
|
+
const Controller_1 = __importDefault(require("./Controller"));
|
|
69
18
|
/**
|
|
70
19
|
* Creates a Selenium config that uses axe extension
|
|
71
20
|
*
|
|
@@ -75,11 +24,11 @@ function webdriverConfig(arg) {
|
|
|
75
24
|
var _a, _b;
|
|
76
25
|
// Lazily require `chrome` to avoid Puppeteer/Playwright/WDIO users from needing `selenium-webdriver` installed.
|
|
77
26
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
78
|
-
|
|
79
|
-
|
|
27
|
+
const chrome = require('selenium-webdriver/chrome');
|
|
28
|
+
const { axe, options } = arg;
|
|
80
29
|
(0, util_1.writeVariables)(axe);
|
|
81
|
-
|
|
82
|
-
opts.addArguments
|
|
30
|
+
const opts = options ? options : new chrome.Options();
|
|
31
|
+
opts.addArguments(...util_1.extensionArgs);
|
|
83
32
|
// Note: fragile, but selenium does not give us a real way to check this
|
|
84
33
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
85
34
|
if ((_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('headless')) {
|
|
@@ -88,34 +37,22 @@ function webdriverConfig(arg) {
|
|
|
88
37
|
return opts;
|
|
89
38
|
}
|
|
90
39
|
exports.webdriverConfig = webdriverConfig;
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
_this.driver = driver;
|
|
96
|
-
return _this;
|
|
40
|
+
class WebdriverController extends Controller_1.default {
|
|
41
|
+
constructor(driver) {
|
|
42
|
+
super();
|
|
43
|
+
this.driver = driver;
|
|
97
44
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
switch (_b.label) {
|
|
108
|
-
case 0:
|
|
109
|
-
script = "\n const callback = arguments[arguments.length - 1];\n Promise.resolve(...arguments)\n .then(".concat(fn, ")\n .then(callback);\n ");
|
|
110
|
-
return [4 /*yield*/, (_a = this.driver).executeAsyncScript.apply(_a, __spreadArray([script], args, false))];
|
|
111
|
-
case 1:
|
|
112
|
-
_b.sent();
|
|
113
|
-
return [2 /*return*/];
|
|
114
|
-
}
|
|
115
|
-
});
|
|
45
|
+
executeScript(fn, ...args) {
|
|
46
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
const script = `
|
|
48
|
+
const callback = arguments[arguments.length - 1];
|
|
49
|
+
Promise.resolve(...arguments)
|
|
50
|
+
.then(${fn})
|
|
51
|
+
.then(callback);
|
|
52
|
+
`;
|
|
53
|
+
yield this.driver.executeAsyncScript(script, ...args);
|
|
116
54
|
});
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
}(Controller_1.default));
|
|
55
|
+
}
|
|
56
|
+
}
|
|
120
57
|
exports.WebdriverController = WebdriverController;
|
|
121
58
|
//# sourceMappingURL=webdriver.js.map
|
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":";;;;;;;;;;;;;;;AAEA,iCAKe;AACf,8DAAqC;AAMrC;;;;GAIG;AAEH,SAAgB,eAAe,CAAC,GAAkB;;IAChD,gHAAgH;IAChH,8DAA8D;IAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAA;IAEnD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,CAAA;IAC5B,IAAA,qBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,MAAM,IAAI,GAAY,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAA;IAC9D,IAAI,CAAC,YAAY,CAAC,GAAG,oBAAa,CAAC,CAAA;IAEnC,wEAAwE;IACxE,8DAA8D;IAC9D,IAAI,MAAA,MAAC,IAAY,aAAZ,IAAI,uBAAJ,IAAI,CAAU,QAAQ,0CAAE,IAAI,0CAAE,QAAQ,CAAC,UAAU,CAAC,EAAE;QACvD,MAAM,IAAI,gCAAyB,EAAE,CAAA;KACtC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAlBD,0CAkBC;AAED,MAAa,mBAAoB,SAAQ,oBAAU;IAGjD,YAAY,MAAiB;QAC3B,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAEe,aAAa,CAC3B,EAAkC,EAClC,GAAG,IAAe;;YAElB,MAAM,MAAM,GAAG;;;gBAGH,EAAE;;KAEb,CAAA;YACD,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAA;QACvD,CAAC;KAAA;CACF;AApBD,kDAoBC"}
|