@axe-core/watcher 0.0.1-next.581e3953 → 0.0.1-next.595683d8
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/README.md +5 -0
- package/dist/Controller.d.ts +9 -0
- package/dist/Controller.js +137 -0
- package/dist/Controller.js.map +1 -0
- package/dist/cypress.d.ts +8 -0
- package/dist/cypress.js +60 -0
- package/dist/cypress.js.map +1 -0
- package/dist/cypressCommands.d.ts +15 -0
- package/dist/cypressCommands.js +43 -0
- package/dist/cypressCommands.js.map +1 -0
- package/dist/git.d.ts +19 -0
- package/dist/git.js +104 -0
- package/dist/git.js.map +1 -0
- package/dist/index.d.ts +6 -4
- package/dist/index.js +8 -5
- package/dist/index.js.map +1 -1
- package/dist/playwright.d.ts +3 -2
- package/dist/playwright.js +13 -9
- package/dist/playwright.js.map +1 -1
- package/dist/puppeteer.d.ts +3 -2
- package/dist/puppeteer.js +13 -9
- package/dist/puppeteer.js.map +1 -1
- package/dist/util.d.ts +12 -5
- package/dist/util.js +71 -113
- package/dist/util.js.map +1 -1
- package/dist/wdio.d.ts +3 -2
- package/dist/wdio.js +47 -11
- package/dist/wdio.js.map +1 -1
- package/dist/webdriver.d.ts +3 -2
- package/dist/webdriver.js +13 -9
- package/dist/webdriver.js.map +1 -1
- package/extension/content.js +1 -1
- package/extension/content.js.LICENSE.txt +3 -1
- package/extension/manifest.json +1 -0
- package/extension/worker.js +1 -1
- package/extension/worker.js.LICENSE.txt +1 -0
- package/package.json +39 -48
package/dist/util.d.ts
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
export declare const PATH_TO_EXTENSION: string;
|
|
2
2
|
export declare const DEFAULT_SERVER_URL = "https://axe.deque.com/";
|
|
3
|
+
export declare const PATH_TO_SESSION_FILE: string;
|
|
4
|
+
export declare const PATH_TO_EXTENSION_VARIABLES: string;
|
|
3
5
|
export declare const extensionArgs: readonly [`--disable-extensions-except=${string}`, `--load-extension=${string}`];
|
|
6
|
+
export declare class HeadlessNotSupportedError extends Error {
|
|
7
|
+
name: string;
|
|
8
|
+
constructor();
|
|
9
|
+
}
|
|
4
10
|
export interface Configuration {
|
|
5
11
|
axe: {
|
|
6
12
|
/** Your axe API key. */
|
|
@@ -22,11 +28,12 @@ interface WriteVariablesParams {
|
|
|
22
28
|
sessionId?: string;
|
|
23
29
|
autoAnalyze?: boolean;
|
|
24
30
|
}
|
|
31
|
+
/** Write the user's settings to the disk, so the extension can load them. */
|
|
25
32
|
export declare function writeVariables({ apiKey, serverURL, sessionId, autoAnalyze }: WriteVariablesParams): void;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
stop(): Promise<void>;
|
|
30
|
-
analyze(): Promise<void>;
|
|
33
|
+
interface WriteManifestParams {
|
|
34
|
+
all_frames: boolean;
|
|
35
|
+
exclude_globs: string[];
|
|
31
36
|
}
|
|
37
|
+
/** Update the extension manifest file. */
|
|
38
|
+
export declare function writeManifest({ all_frames, exclude_globs }: WriteManifestParams): void;
|
|
32
39
|
export {};
|
package/dist/util.js
CHANGED
|
@@ -1,4 +1,19 @@
|
|
|
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
|
+
})();
|
|
2
17
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
18
|
if (k2 === undefined) k2 = k;
|
|
4
19
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -22,53 +37,34 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
37
|
__setModuleDefault(result, mod);
|
|
23
38
|
return result;
|
|
24
39
|
};
|
|
25
|
-
var
|
|
26
|
-
|
|
27
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
35
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
36
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
37
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
38
|
-
function step(op) {
|
|
39
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
40
|
-
while (_) try {
|
|
41
|
-
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;
|
|
42
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
43
|
-
switch (op[0]) {
|
|
44
|
-
case 0: case 1: t = op; break;
|
|
45
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
46
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
47
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
48
|
-
default:
|
|
49
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
50
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
51
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
52
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
53
|
-
if (t[2]) _.ops.pop();
|
|
54
|
-
_.trys.pop(); continue;
|
|
55
|
-
}
|
|
56
|
-
op = body.call(thisArg, _);
|
|
57
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
58
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
59
|
-
}
|
|
40
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
41
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
60
42
|
};
|
|
61
43
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
62
|
-
exports.
|
|
63
|
-
var
|
|
64
|
-
var
|
|
65
|
-
|
|
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
|
+
var fs_1 = __importDefault(require("fs"));
|
|
46
|
+
var path_1 = __importDefault(require("path"));
|
|
47
|
+
var os_1 = __importDefault(require("os"));
|
|
48
|
+
var git = __importStar(require("./git"));
|
|
49
|
+
exports.PATH_TO_EXTENSION = path_1.default.join(__dirname, '..', 'extension');
|
|
66
50
|
exports.DEFAULT_SERVER_URL = 'https://axe.deque.com/';
|
|
51
|
+
exports.PATH_TO_SESSION_FILE = path_1.default.join(os_1.default.tmpdir(), 'axe-watcher-session.json');
|
|
52
|
+
exports.PATH_TO_EXTENSION_VARIABLES = path_1.default.join(exports.PATH_TO_EXTENSION, 'variables.json');
|
|
67
53
|
exports.extensionArgs = [
|
|
68
54
|
"--disable-extensions-except=".concat(exports.PATH_TO_EXTENSION),
|
|
69
55
|
"--load-extension=".concat(exports.PATH_TO_EXTENSION)
|
|
70
56
|
];
|
|
71
|
-
|
|
57
|
+
var HeadlessNotSupportedError = /** @class */ (function (_super) {
|
|
58
|
+
__extends(HeadlessNotSupportedError, _super);
|
|
59
|
+
function HeadlessNotSupportedError() {
|
|
60
|
+
var _this = _super.call(this, 'Cannot use extension while headless.') || this;
|
|
61
|
+
_this.name = 'HeadlessNotSupportedError';
|
|
62
|
+
return _this;
|
|
63
|
+
}
|
|
64
|
+
return HeadlessNotSupportedError;
|
|
65
|
+
}(Error));
|
|
66
|
+
exports.HeadlessNotSupportedError = HeadlessNotSupportedError;
|
|
67
|
+
/** Write the user's settings to the disk, so the extension can load them. */
|
|
72
68
|
function writeVariables(_a) {
|
|
73
69
|
var apiKey = _a.apiKey, serverURL = _a.serverURL, sessionId = _a.sessionId, autoAnalyze = _a.autoAnalyze;
|
|
74
70
|
if (!serverURL) {
|
|
@@ -84,84 +80,46 @@ function writeVariables(_a) {
|
|
|
84
80
|
if (typeof autoAnalyze === 'undefined') {
|
|
85
81
|
autoAnalyze = true;
|
|
86
82
|
}
|
|
87
|
-
|
|
88
|
-
|
|
83
|
+
// When a custom session ID is not provided, attempt to read it from the filesystem.
|
|
84
|
+
// This enables multi-process/multi-browser test suites to all use the same session ID.
|
|
85
|
+
if (!sessionId && fs_1.default.existsSync(exports.PATH_TO_SESSION_FILE)) {
|
|
86
|
+
try {
|
|
87
|
+
var data = JSON.parse(fs_1.default.readFileSync(exports.PATH_TO_SESSION_FILE, 'utf8'));
|
|
88
|
+
sessionId = data.id;
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
throw new Error("Unable to read session configuration: ".concat(error));
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
var variables = {
|
|
89
95
|
api_key: apiKey,
|
|
90
96
|
server_url: urlString,
|
|
91
97
|
session_id: sessionId,
|
|
92
98
|
auto_analyze: !!autoAnalyze
|
|
93
|
-
}
|
|
99
|
+
};
|
|
100
|
+
// If the repository is a git repository, add git info to the variables.
|
|
101
|
+
if (git.isRepository()) {
|
|
102
|
+
variables.git_branch = git.getBranchName();
|
|
103
|
+
variables.git_default_branch = git.getDefaultBranchName();
|
|
104
|
+
var info = git.getCommitInfo();
|
|
105
|
+
variables.git_commit_sha = info === null || info === void 0 ? void 0 : info.hash;
|
|
106
|
+
variables.git_commit_author = info === null || info === void 0 ? void 0 : info.author;
|
|
107
|
+
variables.git_commit_email = info === null || info === void 0 ? void 0 : info.email;
|
|
108
|
+
variables.git_commit_message = info === null || info === void 0 ? void 0 : info.message;
|
|
109
|
+
variables.git_url = git.getRemoteURL();
|
|
110
|
+
variables.git_is_dirty = git.isDirty();
|
|
111
|
+
}
|
|
112
|
+
fs_1.default.writeFileSync(exports.PATH_TO_EXTENSION_VARIABLES, JSON.stringify(variables));
|
|
94
113
|
}
|
|
95
114
|
exports.writeVariables = writeVariables;
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
var
|
|
99
|
-
var
|
|
100
|
-
|
|
101
|
-
|
|
115
|
+
/** Update the extension manifest file. */
|
|
116
|
+
function writeManifest(_a) {
|
|
117
|
+
var all_frames = _a.all_frames, exclude_globs = _a.exclude_globs;
|
|
118
|
+
var manifestPath = path_1.default.join(exports.PATH_TO_EXTENSION, 'manifest.json');
|
|
119
|
+
var manifest = JSON.parse(fs_1.default.readFileSync(manifestPath, 'utf-8'));
|
|
120
|
+
manifest.content_scripts[0].all_frames = all_frames;
|
|
121
|
+
manifest.content_scripts[0].exclude_globs = exclude_globs;
|
|
122
|
+
fs_1.default.writeFileSync(manifestPath, JSON.stringify(manifest, null, 2));
|
|
102
123
|
}
|
|
103
|
-
|
|
104
|
-
function ManualController() {
|
|
105
|
-
}
|
|
106
|
-
ManualController.prototype.start = function () {
|
|
107
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
108
|
-
return __generator(this, function (_a) {
|
|
109
|
-
switch (_a.label) {
|
|
110
|
-
case 0:
|
|
111
|
-
updateAutoAnalyze(true);
|
|
112
|
-
return [4 /*yield*/, this.executeScript(function () {
|
|
113
|
-
var event = new CustomEvent('axe:start-auto-mode');
|
|
114
|
-
window.dispatchEvent(event);
|
|
115
|
-
return Promise.resolve();
|
|
116
|
-
})];
|
|
117
|
-
case 1:
|
|
118
|
-
_a.sent();
|
|
119
|
-
return [2 /*return*/];
|
|
120
|
-
}
|
|
121
|
-
});
|
|
122
|
-
});
|
|
123
|
-
};
|
|
124
|
-
ManualController.prototype.stop = function () {
|
|
125
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
126
|
-
return __generator(this, function (_a) {
|
|
127
|
-
switch (_a.label) {
|
|
128
|
-
case 0:
|
|
129
|
-
updateAutoAnalyze(false);
|
|
130
|
-
return [4 /*yield*/, this.executeScript(function () {
|
|
131
|
-
var event = new CustomEvent('axe:stop-auto-mode');
|
|
132
|
-
window.dispatchEvent(event);
|
|
133
|
-
return Promise.resolve();
|
|
134
|
-
})];
|
|
135
|
-
case 1:
|
|
136
|
-
_a.sent();
|
|
137
|
-
return [2 /*return*/];
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
});
|
|
141
|
-
};
|
|
142
|
-
ManualController.prototype.analyze = function () {
|
|
143
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
144
|
-
return __generator(this, function (_a) {
|
|
145
|
-
switch (_a.label) {
|
|
146
|
-
case 0: return [4 /*yield*/, this.executeScript(function () {
|
|
147
|
-
return new Promise(function (resolve) {
|
|
148
|
-
var event = new CustomEvent('axe:manual-mode-analyze');
|
|
149
|
-
window.dispatchEvent(event);
|
|
150
|
-
var p = function () {
|
|
151
|
-
window.removeEventListener('axe:manual-mode-analyze-done', p);
|
|
152
|
-
resolve();
|
|
153
|
-
};
|
|
154
|
-
window.addEventListener('axe:manual-mode-analyze-done', p);
|
|
155
|
-
});
|
|
156
|
-
})];
|
|
157
|
-
case 1:
|
|
158
|
-
_a.sent();
|
|
159
|
-
return [2 /*return*/];
|
|
160
|
-
}
|
|
161
|
-
});
|
|
162
|
-
});
|
|
163
|
-
};
|
|
164
|
-
return ManualController;
|
|
165
|
-
}());
|
|
166
|
-
exports.ManualController = ManualController;
|
|
124
|
+
exports.writeManifest = writeManifest;
|
|
167
125
|
//# 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/wdio.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Configuration, ManualController } from './util';
|
|
2
1
|
import type { Options } from '@wdio/types';
|
|
2
|
+
import { Configuration } from './util';
|
|
3
|
+
import Controller from './Controller';
|
|
3
4
|
interface Browser {
|
|
4
5
|
executeAsyncScript(script: string, args: object[]): void;
|
|
5
6
|
}
|
|
@@ -13,7 +14,7 @@ interface WdioArg extends Configuration {
|
|
|
13
14
|
*/
|
|
14
15
|
export declare function wdioConfig(arg: WdioArg): Options.WebDriver;
|
|
15
16
|
export declare function wdioTestRunner(axe: Configuration['axe'], config: Options.Testrunner): Options.Testrunner;
|
|
16
|
-
export declare class
|
|
17
|
+
export declare class WdioController extends Controller {
|
|
17
18
|
private driver;
|
|
18
19
|
constructor(driver: Browser);
|
|
19
20
|
protected executeScript(fn: string | (() => Promise<void>)): Promise<void>;
|
package/dist/wdio.js
CHANGED
|
@@ -61,9 +61,18 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
61
61
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
62
62
|
}
|
|
63
63
|
};
|
|
64
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
65
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
66
|
+
};
|
|
64
67
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
65
|
-
exports.
|
|
68
|
+
exports.WdioController = exports.wdioTestRunner = exports.wdioConfig = void 0;
|
|
69
|
+
var uuid_1 = require("uuid");
|
|
70
|
+
var fs_1 = __importDefault(require("fs"));
|
|
66
71
|
var util_1 = require("./util");
|
|
72
|
+
var Controller_1 = __importDefault(require("./Controller"));
|
|
73
|
+
var noop = function () {
|
|
74
|
+
// Nothing.
|
|
75
|
+
};
|
|
67
76
|
/**
|
|
68
77
|
* Creates a WebDriverIO config that uses axe extension
|
|
69
78
|
*
|
|
@@ -77,7 +86,7 @@ function wdioConfig(arg) {
|
|
|
77
86
|
var chromeOpts = ((_b = (_a = arg.options) === null || _a === void 0 ? void 0 : _a.capabilities) === null || _b === void 0 ? void 0 : _b['goog:chromeOptions']) || {};
|
|
78
87
|
var args = chromeOpts.args || [];
|
|
79
88
|
if (args.includes('--headless')) {
|
|
80
|
-
throw new
|
|
89
|
+
throw new util_1.HeadlessNotSupportedError();
|
|
81
90
|
}
|
|
82
91
|
return __assign(__assign({}, arg.options), { capabilities: __assign(__assign({}, (_c = arg.options) === null || _c === void 0 ? void 0 : _c.capabilities), { browserName: 'chrome', 'goog:chromeOptions': {
|
|
83
92
|
args: util_1.extensionArgs.concat(args)
|
|
@@ -102,20 +111,47 @@ function wdioTestRunner(axe, config) {
|
|
|
102
111
|
chromeOpts.args = chromeOpts.args || [];
|
|
103
112
|
var args = chromeOpts.args;
|
|
104
113
|
if (args.includes('--headless')) {
|
|
105
|
-
throw new
|
|
114
|
+
throw new util_1.HeadlessNotSupportedError();
|
|
106
115
|
}
|
|
107
116
|
chromeOpts.args = util_1.extensionArgs.concat(args);
|
|
108
|
-
|
|
117
|
+
var _a = config.onPrepare, onPrepare = _a === void 0 ? noop : _a, _b = config.onComplete, onComplete = _b === void 0 ? noop : _b;
|
|
118
|
+
return __assign(__assign({}, config), { capabilities: capabilities,
|
|
119
|
+
// Write a static/persistent session to disk so that each worker uses the same session ID.
|
|
120
|
+
onPrepare: function () {
|
|
121
|
+
var params = [];
|
|
122
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
123
|
+
params[_i] = arguments[_i];
|
|
124
|
+
}
|
|
125
|
+
var sessionId = axe.sessionId || (0, uuid_1.v4)();
|
|
126
|
+
fs_1.default.writeFileSync(util_1.PATH_TO_SESSION_FILE, JSON.stringify({ id: sessionId }));
|
|
127
|
+
// @ts-expect-error TS is angry about calling this ¯\_(ツ)_/¯
|
|
128
|
+
return onPrepare.apply(void 0, params);
|
|
129
|
+
},
|
|
130
|
+
// Remove the file, preventing other sessions from reusing its ID.
|
|
131
|
+
onComplete: function () {
|
|
132
|
+
var params = [];
|
|
133
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
134
|
+
params[_i] = arguments[_i];
|
|
135
|
+
}
|
|
136
|
+
try {
|
|
137
|
+
fs_1.default.unlinkSync(util_1.PATH_TO_SESSION_FILE);
|
|
138
|
+
}
|
|
139
|
+
catch (_a) {
|
|
140
|
+
// Oh well.
|
|
141
|
+
}
|
|
142
|
+
// @ts-expect-error TS is angry about calling this ¯\_(ツ)_/¯
|
|
143
|
+
return onComplete.apply(void 0, params);
|
|
144
|
+
} });
|
|
109
145
|
}
|
|
110
146
|
exports.wdioTestRunner = wdioTestRunner;
|
|
111
|
-
var
|
|
112
|
-
__extends(
|
|
113
|
-
function
|
|
147
|
+
var WdioController = /** @class */ (function (_super) {
|
|
148
|
+
__extends(WdioController, _super);
|
|
149
|
+
function WdioController(driver) {
|
|
114
150
|
var _this = _super.call(this) || this;
|
|
115
151
|
_this.driver = driver;
|
|
116
152
|
return _this;
|
|
117
153
|
}
|
|
118
|
-
|
|
154
|
+
WdioController.prototype.executeScript = function (fn) {
|
|
119
155
|
return __awaiter(this, void 0, void 0, function () {
|
|
120
156
|
var script;
|
|
121
157
|
return __generator(this, function (_a) {
|
|
@@ -130,7 +166,7 @@ var WdioManualController = /** @class */ (function (_super) {
|
|
|
130
166
|
});
|
|
131
167
|
});
|
|
132
168
|
};
|
|
133
|
-
return
|
|
134
|
-
}(
|
|
135
|
-
exports.
|
|
169
|
+
return WdioController;
|
|
170
|
+
}(Controller_1.default));
|
|
171
|
+
exports.WdioController = WdioController;
|
|
136
172
|
//# sourceMappingURL=wdio.js.map
|
package/dist/wdio.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wdio.js","sourceRoot":"","sources":["../src/wdio.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wdio.js","sourceRoot":"","sources":["../src/wdio.ts"],"names":[],"mappings":"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"}
|
package/dist/webdriver.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Configuration, ManualController } from './util';
|
|
2
1
|
import type { WebDriver } from 'selenium-webdriver';
|
|
3
2
|
import type { Options } from 'selenium-webdriver/chrome';
|
|
3
|
+
import { Configuration } from './util';
|
|
4
|
+
import Controller from './Controller';
|
|
4
5
|
interface WebDriverArgs extends Configuration {
|
|
5
6
|
options?: Options;
|
|
6
7
|
}
|
|
@@ -10,7 +11,7 @@ interface WebDriverArgs extends Configuration {
|
|
|
10
11
|
* @param arg Config to extend
|
|
11
12
|
*/
|
|
12
13
|
export declare function webdriverConfig(arg: WebDriverArgs): Options;
|
|
13
|
-
export declare class
|
|
14
|
+
export declare class WebdriverController extends Controller {
|
|
14
15
|
private driver;
|
|
15
16
|
constructor(driver: WebDriver);
|
|
16
17
|
protected executeScript(fn: string | (() => Promise<void>)): Promise<void>;
|
package/dist/webdriver.js
CHANGED
|
@@ -50,9 +50,13 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
50
50
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
51
|
}
|
|
52
52
|
};
|
|
53
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
54
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
55
|
+
};
|
|
53
56
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
|
-
exports.
|
|
57
|
+
exports.WebdriverController = exports.webdriverConfig = void 0;
|
|
55
58
|
var util_1 = require("./util");
|
|
59
|
+
var Controller_1 = __importDefault(require("./Controller"));
|
|
56
60
|
/**
|
|
57
61
|
* Creates a Selenium config that uses axe extension
|
|
58
62
|
*
|
|
@@ -70,19 +74,19 @@ function webdriverConfig(arg) {
|
|
|
70
74
|
// Note: fragile, but selenium does not give us a real way to check this
|
|
71
75
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
72
76
|
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')) {
|
|
73
|
-
throw new
|
|
77
|
+
throw new util_1.HeadlessNotSupportedError();
|
|
74
78
|
}
|
|
75
79
|
return opts;
|
|
76
80
|
}
|
|
77
81
|
exports.webdriverConfig = webdriverConfig;
|
|
78
|
-
var
|
|
79
|
-
__extends(
|
|
80
|
-
function
|
|
82
|
+
var WebdriverController = /** @class */ (function (_super) {
|
|
83
|
+
__extends(WebdriverController, _super);
|
|
84
|
+
function WebdriverController(driver) {
|
|
81
85
|
var _this = _super.call(this) || this;
|
|
82
86
|
_this.driver = driver;
|
|
83
87
|
return _this;
|
|
84
88
|
}
|
|
85
|
-
|
|
89
|
+
WebdriverController.prototype.executeScript = function (fn) {
|
|
86
90
|
return __awaiter(this, void 0, void 0, function () {
|
|
87
91
|
var script;
|
|
88
92
|
return __generator(this, function (_a) {
|
|
@@ -97,7 +101,7 @@ var WebdriverManualController = /** @class */ (function (_super) {
|
|
|
97
101
|
});
|
|
98
102
|
});
|
|
99
103
|
};
|
|
100
|
-
return
|
|
101
|
-
}(
|
|
102
|
-
exports.
|
|
104
|
+
return WebdriverController;
|
|
105
|
+
}(Controller_1.default));
|
|
106
|
+
exports.WebdriverController = WebdriverController;
|
|
103
107
|
//# 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,+BAKe;AACf,4DAAqC;AAMrC;;;;GAIG;AAEH,SAAgB,eAAe,CAAC,GAAkB;;IAChD,gHAAgH;IAChH,8DAA8D;IAC9D,IAAM,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAA;IAE3C,IAAA,GAAG,GAAc,GAAG,IAAjB,EAAE,OAAO,GAAK,GAAG,QAAR,CAAQ;IAC5B,IAAA,qBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,IAAM,IAAI,GAAY,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAA;IAC9D,IAAI,CAAC,YAAY,OAAjB,IAAI,EAAiB,oBAAa,EAAC;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;IAAyC,uCAAU;IAGjD,6BAAY,MAAiB;QAA7B,YACE,iBAAO,SAER;QADC,KAAI,CAAC,MAAM,GAAG,MAAM,CAAA;;IACtB,CAAC;IAEe,2CAAa,GAA7B,UACE,EAAkC;;;;;;wBAE5B,MAAM,GAAG,4GAGH,EAAE,sCAEb,CAAA;wBACD,qBAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAA;;wBAA5C,SAA4C,CAAA;;;;;KAC7C;IACH,0BAAC;AAAD,CAAC,AAnBD,CAAyC,oBAAU,GAmBlD;AAnBY,kDAAmB"}
|