@axe-core/watcher 1.8.2 → 2.0.0-next.0f47d4bc
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 +1 -5
- package/dist/cypress.js +9 -95
- 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.d.ts +2 -0
- package/dist/git.js +31 -22
- package/dist/git.js.map +1 -1
- package/dist/index.d.ts +5 -4
- package/dist/index.js +9 -2
- package/dist/index.js.map +1 -1
- package/dist/playwright.d.ts +7 -3
- package/dist/playwright.js +17 -82
- package/dist/playwright.js.map +1 -1
- package/dist/playwrightTest.d.ts +16 -0
- package/dist/playwrightTest.js +74 -0
- package/dist/playwrightTest.js.map +1 -0
- package/dist/playwrightWrapping.d.ts +14 -0
- package/dist/playwrightWrapping.js +548 -0
- package/dist/playwrightWrapping.js.map +1 -0
- package/dist/puppeteer.d.ts +2 -2
- package/dist/puppeteer.js +17 -92
- package/dist/puppeteer.js.map +1 -1
- package/dist/puppeteerWrapping.d.ts +14 -0
- package/dist/puppeteerWrapping.js +426 -0
- package/dist/puppeteerWrapping.js.map +1 -0
- package/dist/util.d.ts +11 -0
- package/dist/util.js +62 -45
- package/dist/util.js.map +1 -1
- package/dist/validateApiKey.js +6 -7
- package/dist/validateApiKey.js.map +1 -1
- package/dist/wdio.d.ts +1 -1
- package/dist/wdio.js +44 -138
- package/dist/wdio.js.map +1 -1
- package/dist/webdriver.d.ts +2 -2
- package/dist/webdriver.js +24 -85
- package/dist/webdriver.js.map +1 -1
- package/dist/webdriverWrapping.d.ts +7 -0
- package/dist/webdriverWrapping.js +131 -0
- package/dist/webdriverWrapping.js.map +1 -0
- package/extension/background.js +1 -1
- package/extension/content.js +1 -1
- package/extension/manifest.json +2 -3
- package/package.json +6 -7
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,15 @@ 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
|
-
exports.WebdriverController = exports.webdriverConfig = void 0;
|
|
67
|
-
|
|
68
|
-
|
|
15
|
+
exports.WebdriverController = exports.webdriverConfig = exports.wrapWebdriver = void 0;
|
|
16
|
+
const util_1 = require("./util");
|
|
17
|
+
const Controller_1 = __importDefault(require("./Controller"));
|
|
18
|
+
var webdriverWrapping_1 = require("./webdriverWrapping");
|
|
19
|
+
Object.defineProperty(exports, "wrapWebdriver", { enumerable: true, get: function () { return webdriverWrapping_1.wrapDriver; } });
|
|
69
20
|
/**
|
|
70
21
|
* Creates a Selenium config that uses axe extension
|
|
71
22
|
*
|
|
@@ -75,11 +26,11 @@ function webdriverConfig(arg) {
|
|
|
75
26
|
var _a, _b;
|
|
76
27
|
// Lazily require `chrome` to avoid Puppeteer/Playwright/WDIO users from needing `selenium-webdriver` installed.
|
|
77
28
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
78
|
-
|
|
79
|
-
|
|
29
|
+
const chrome = require('selenium-webdriver/chrome');
|
|
30
|
+
const { axe, options } = arg;
|
|
80
31
|
(0, util_1.writeVariables)(axe);
|
|
81
|
-
|
|
82
|
-
opts.addArguments
|
|
32
|
+
const opts = options ? options : new chrome.Options();
|
|
33
|
+
opts.addArguments(...util_1.extensionArgs);
|
|
83
34
|
// Note: fragile, but selenium does not give us a real way to check this
|
|
84
35
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
85
36
|
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 +39,22 @@ function webdriverConfig(arg) {
|
|
|
88
39
|
return opts;
|
|
89
40
|
}
|
|
90
41
|
exports.webdriverConfig = webdriverConfig;
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
_this.driver = driver;
|
|
96
|
-
return _this;
|
|
42
|
+
class WebdriverController extends Controller_1.default {
|
|
43
|
+
constructor(driver) {
|
|
44
|
+
super();
|
|
45
|
+
this.driver = driver;
|
|
97
46
|
}
|
|
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
|
-
});
|
|
47
|
+
executeScript(fn, ...args) {
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
const script = `
|
|
50
|
+
const callback = arguments[arguments.length - 1];
|
|
51
|
+
Promise.resolve(...arguments)
|
|
52
|
+
.then(${fn})
|
|
53
|
+
.then(callback);
|
|
54
|
+
`;
|
|
55
|
+
yield this.driver.executeAsyncScript(script, ...args);
|
|
116
56
|
});
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
}(Controller_1.default));
|
|
57
|
+
}
|
|
58
|
+
}
|
|
120
59
|
exports.WebdriverController = WebdriverController;
|
|
121
60
|
//# 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;AAErC,yDAAiE;AAAxD,kHAAA,UAAU,OAAiB;AAMpC;;;;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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { WebDriver, Navigation, WebElement, TargetLocator } from 'selenium-webdriver';
|
|
2
|
+
import { type PossiblyWrapped } from './util';
|
|
3
|
+
import type { WebdriverController } from './webdriver';
|
|
4
|
+
export declare const wrapDriver: (driver: PossiblyWrapped<WebDriver>, controller: WebdriverController) => WebDriver;
|
|
5
|
+
export declare const wrapNavigation: (navigation: PossiblyWrapped<Navigation>, controller: WebdriverController) => Navigation;
|
|
6
|
+
export declare const wrapTargetLocator: (locator: PossiblyWrapped<TargetLocator>, controller: WebdriverController) => TargetLocator;
|
|
7
|
+
export declare const wrapElement: (element: PossiblyWrapped<WebElement>, controller: WebdriverController) => WebElement;
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.wrapElement = exports.wrapTargetLocator = exports.wrapNavigation = exports.wrapDriver = void 0;
|
|
13
|
+
const util_1 = require("./util");
|
|
14
|
+
const wrapDriver = (driver, controller) => {
|
|
15
|
+
if ((0, util_1.isWrapped)(driver)) {
|
|
16
|
+
return driver;
|
|
17
|
+
}
|
|
18
|
+
const proxy = new Proxy(driver, {
|
|
19
|
+
get(target, prop, receiver) {
|
|
20
|
+
switch (prop) {
|
|
21
|
+
case 'findElement':
|
|
22
|
+
return (locator) => __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
const el = yield target.findElement(locator);
|
|
24
|
+
return (0, exports.wrapElement)(el, controller);
|
|
25
|
+
});
|
|
26
|
+
case 'quit':
|
|
27
|
+
return () => __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
yield controller.flush();
|
|
29
|
+
return target.quit();
|
|
30
|
+
});
|
|
31
|
+
case 'close':
|
|
32
|
+
return () => __awaiter(this, void 0, void 0, function* () {
|
|
33
|
+
yield controller.flush();
|
|
34
|
+
return target.close();
|
|
35
|
+
});
|
|
36
|
+
case 'findElements':
|
|
37
|
+
return (locator) => __awaiter(this, void 0, void 0, function* () {
|
|
38
|
+
const els = yield target.findElements(locator);
|
|
39
|
+
return els.map(el => (0, exports.wrapElement)(el, controller));
|
|
40
|
+
});
|
|
41
|
+
case 'switchTo':
|
|
42
|
+
return () => (0, exports.wrapTargetLocator)(target.switchTo(), controller);
|
|
43
|
+
case 'navigate':
|
|
44
|
+
return () => (0, exports.wrapNavigation)(target.navigate(), controller);
|
|
45
|
+
case 'get':
|
|
46
|
+
return (0, util_1.wrappedCallWithSideEffects)(target, prop, controller);
|
|
47
|
+
default:
|
|
48
|
+
return Reflect.get(target, prop, receiver);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
(0, util_1.markAsWrapped)(proxy);
|
|
53
|
+
return proxy;
|
|
54
|
+
};
|
|
55
|
+
exports.wrapDriver = wrapDriver;
|
|
56
|
+
const wrapNavigation = (navigation, controller) => {
|
|
57
|
+
if ((0, util_1.isWrapped)(navigation)) {
|
|
58
|
+
return navigation;
|
|
59
|
+
}
|
|
60
|
+
const proxy = new Proxy(navigation, {
|
|
61
|
+
get(target, prop, receiver) {
|
|
62
|
+
switch (prop) {
|
|
63
|
+
case 'back':
|
|
64
|
+
case 'forward':
|
|
65
|
+
case 'refresh':
|
|
66
|
+
case 'to':
|
|
67
|
+
return (0, util_1.wrappedCallWithSideEffects)(target, prop, controller);
|
|
68
|
+
default:
|
|
69
|
+
return Reflect.get(target, prop, receiver);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
(0, util_1.markAsWrapped)(proxy);
|
|
74
|
+
return proxy;
|
|
75
|
+
};
|
|
76
|
+
exports.wrapNavigation = wrapNavigation;
|
|
77
|
+
const wrapTargetLocator = (locator, controller) => {
|
|
78
|
+
if ((0, util_1.isWrapped)(locator)) {
|
|
79
|
+
return locator;
|
|
80
|
+
}
|
|
81
|
+
const proxy = new Proxy(locator, {
|
|
82
|
+
get(target, prop, receiver) {
|
|
83
|
+
switch (prop) {
|
|
84
|
+
case 'activeElement':
|
|
85
|
+
return () => __awaiter(this, void 0, void 0, function* () {
|
|
86
|
+
const el = yield target.activeElement();
|
|
87
|
+
return (0, exports.wrapElement)(el, controller);
|
|
88
|
+
});
|
|
89
|
+
default:
|
|
90
|
+
return Reflect.get(target, prop, receiver);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
(0, util_1.markAsWrapped)(proxy);
|
|
95
|
+
return proxy;
|
|
96
|
+
};
|
|
97
|
+
exports.wrapTargetLocator = wrapTargetLocator;
|
|
98
|
+
const wrapElement = (element, controller) => {
|
|
99
|
+
if ((0, util_1.isWrapped)(element)) {
|
|
100
|
+
return element;
|
|
101
|
+
}
|
|
102
|
+
const proxy = new Proxy(element, {
|
|
103
|
+
get(target, prop, receiver) {
|
|
104
|
+
switch (prop) {
|
|
105
|
+
case 'getDriver':
|
|
106
|
+
return () => (0, exports.wrapDriver)(target.getDriver(), controller);
|
|
107
|
+
case 'findElement':
|
|
108
|
+
return (locator) => __awaiter(this, void 0, void 0, function* () {
|
|
109
|
+
const el = yield target.findElement(locator);
|
|
110
|
+
return (0, exports.wrapElement)(el, controller);
|
|
111
|
+
});
|
|
112
|
+
case 'findElements':
|
|
113
|
+
return (locator) => __awaiter(this, void 0, void 0, function* () {
|
|
114
|
+
const els = yield target.findElements(locator);
|
|
115
|
+
return els.map(el => (0, exports.wrapElement)(el, controller));
|
|
116
|
+
});
|
|
117
|
+
case 'clear':
|
|
118
|
+
case 'click':
|
|
119
|
+
case 'sendKeys':
|
|
120
|
+
case 'submit':
|
|
121
|
+
return (0, util_1.wrappedCallWithSideEffects)(target, prop, controller);
|
|
122
|
+
default:
|
|
123
|
+
return Reflect.get(target, prop, receiver);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
(0, util_1.markAsWrapped)(proxy);
|
|
128
|
+
return proxy;
|
|
129
|
+
};
|
|
130
|
+
exports.wrapElement = wrapElement;
|
|
131
|
+
//# sourceMappingURL=webdriverWrapping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webdriverWrapping.js","sourceRoot":"","sources":["../src/webdriverWrapping.ts"],"names":[],"mappings":"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"}
|