@axe-core/watcher 2.0.0-next.fe49ca8a → 2.1.1-next.293a245f
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 +9 -6
- package/dist/Controller.js +102 -139
- package/dist/Controller.js.map +1 -1
- package/dist/cypress.d.ts +1 -1
- package/dist/cypress.js +8 -37
- package/dist/cypress.js.map +1 -1
- package/dist/cypressCommands.d.ts +8 -5
- package/dist/cypressCommands.js +126 -116
- 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 +3 -2
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/playwright.d.ts +5 -3
- package/dist/playwright.js +18 -88
- 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 +1 -7
- package/dist/playwrightWrapping.js +198 -490
- package/dist/playwrightWrapping.js.map +1 -1
- package/dist/puppeteer.d.ts +3 -3
- package/dist/puppeteer.js +18 -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 +12 -0
- package/dist/util.js +69 -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 +5 -2
- package/dist/wdio.js +60 -147
- package/dist/wdio.js.map +1 -1
- package/dist/webdriver.d.ts +3 -3
- package/dist/webdriver.js +25 -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 -6
package/dist/playwright.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,55 +24,38 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
77
24
|
};
|
|
78
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
79
26
|
exports.wrapPlaywright = exports.PlaywrightController = exports.playwrightConfig = void 0;
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
27
|
+
const util_1 = require("./util");
|
|
28
|
+
const Controller_1 = __importDefault(require("./Controller"));
|
|
29
|
+
const playwrightWrapping_1 = require("./playwrightWrapping");
|
|
83
30
|
Object.defineProperty(exports, "wrapPlaywright", { enumerable: true, get: function () { return playwrightWrapping_1.wrapBrowserContext; } });
|
|
84
|
-
var uuid_1 = require("uuid");
|
|
85
31
|
/**
|
|
86
32
|
* Creates a Playwright config that uses axe extension
|
|
87
33
|
*
|
|
88
34
|
* @param opts Playwright config to extend
|
|
89
35
|
*/
|
|
90
36
|
function playwrightConfig(opts) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
(0, util_1.writeVariables)(
|
|
94
|
-
/** Ensure the session ID persists between tabs.
|
|
95
|
-
* We cannot allow the extension to generate an ID,
|
|
96
|
-
* as each tab would get its own */
|
|
97
|
-
sessionId: axe.sessionId || (0, uuid_1.v4)() }));
|
|
37
|
+
const { axe } = opts, config = __rest(opts, ["axe"]);
|
|
38
|
+
let { args = [] } = config;
|
|
39
|
+
(0, util_1.writeVariables)(axe);
|
|
98
40
|
if (config.headless) {
|
|
99
41
|
throw new util_1.HeadlessNotSupportedError();
|
|
100
42
|
}
|
|
101
43
|
args = args.concat(util_1.extensionArgs);
|
|
102
|
-
return
|
|
44
|
+
return Object.assign(Object.assign({}, config), { headless: false, args });
|
|
103
45
|
}
|
|
104
46
|
exports.playwrightConfig = playwrightConfig;
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
_this.driver = driver;
|
|
110
|
-
return _this;
|
|
47
|
+
class PlaywrightController extends Controller_1.default {
|
|
48
|
+
constructor(driver) {
|
|
49
|
+
super();
|
|
50
|
+
this.driver = driver;
|
|
111
51
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
118
|
-
return __generator(this, function (_a) {
|
|
119
|
-
switch (_a.label) {
|
|
120
|
-
case 0: return [4 /*yield*/, this.driver.evaluate(fn, args)];
|
|
121
|
-
case 1:
|
|
122
|
-
_a.sent();
|
|
123
|
-
return [2 /*return*/];
|
|
124
|
-
}
|
|
125
|
-
});
|
|
52
|
+
executeScript(fn, ...args) {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
const [arg] = args || [];
|
|
55
|
+
const result = yield this.driver.evaluate(fn, arg);
|
|
56
|
+
return result;
|
|
126
57
|
});
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
}(Controller_1.default));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
130
60
|
exports.PlaywrightController = PlaywrightController;
|
|
131
61
|
//# sourceMappingURL=playwright.js.map
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,iCAKe;AACf,8DAAqC;AACrC,6DAAyD;AAgD1B,+FAhDtB,uCAAkB,OAgDkB;AA3C7C;;;;GAIG;AAEH,SAAgB,gBAAgB,CAAC,IAAa;IAC5C,MAAM,EAAE,GAAG,KAAgB,IAAI,EAAf,MAAM,UAAK,IAAI,EAAzB,OAAkB,CAAO,CAAA;IAC/B,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,MAAM,CAAA;IAE1B,IAAA,qBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,MAAM,IAAI,gCAAyB,EAAE,CAAA;KACtC;IAED,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAa,CAAC,CAAA;IAEjC,uCACK,MAAM,KACT,QAAQ,EAAE,KAAK,EACf,IAAI,IACL;AACH,CAAC;AAjBD,4CAiBC;AAED,MAAa,oBAAqB,SAAQ,oBAAU;IAGlD,YAAY,MAAY;QACtB,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAEe,aAAa,CAC3B,EAA+B,EAC/B,GAAG,IAAe;;YAElB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,CAAA;YACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAI,EAAE,EAAE,GAAG,CAAC,CAAA;YACrD,OAAO,MAAM,CAAA;QACf,CAAC;KAAA;CACF;AAhBD,oDAgBC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { TestType, PlaywrightTestArgs, PlaywrightTestOptions, PlaywrightWorkerArgs, PlaywrightWorkerOptions, Expect } from '@playwright/test';
|
|
2
|
+
import { type Options } from './playwright';
|
|
3
|
+
declare type Test = TestType<PlaywrightTestArgs & PlaywrightTestOptions, PlaywrightWorkerArgs & PlaywrightWorkerOptions>;
|
|
4
|
+
interface ReturnValue {
|
|
5
|
+
test: Test;
|
|
6
|
+
expect: Expect;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Configure `@playwright/test` for usage with axe Watcher and return wrapped `test` and `expect` functions.
|
|
10
|
+
*
|
|
11
|
+
* @param options Options for configuring Playwright and @axe-core/watcher
|
|
12
|
+
* @see https://playwright.dev/docs/api/class-test#test-call
|
|
13
|
+
* @see https://playwright.dev/docs/api/class-test#test-expect
|
|
14
|
+
*/
|
|
15
|
+
declare const playwrightTest: (options: Options) => ReturnValue;
|
|
16
|
+
export default playwrightTest;
|
|
@@ -0,0 +1,74 @@
|
|
|
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
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
12
|
+
var t = {};
|
|
13
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
14
|
+
t[p] = s[p];
|
|
15
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
16
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
17
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
18
|
+
t[p[i]] = s[p[i]];
|
|
19
|
+
}
|
|
20
|
+
return t;
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
const playwright_1 = require("./playwright");
|
|
24
|
+
const util_1 = require("./util");
|
|
25
|
+
/**
|
|
26
|
+
* Configure `@playwright/test` for usage with axe Watcher and return wrapped `test` and `expect` functions.
|
|
27
|
+
*
|
|
28
|
+
* @param options Options for configuring Playwright and @axe-core/watcher
|
|
29
|
+
* @see https://playwright.dev/docs/api/class-test#test-call
|
|
30
|
+
* @see https://playwright.dev/docs/api/class-test#test-expect
|
|
31
|
+
*/
|
|
32
|
+
const playwrightTest = (options) => {
|
|
33
|
+
let controller = null;
|
|
34
|
+
const { axe } = options, config = __rest(options
|
|
35
|
+
// We must lazily require the `@playwright/test` package, as
|
|
36
|
+
// users of other platforms won't have it installed.
|
|
37
|
+
, ["axe"]);
|
|
38
|
+
// We must lazily require the `@playwright/test` package, as
|
|
39
|
+
// users of other platforms won't have it installed.
|
|
40
|
+
let base;
|
|
41
|
+
let chromium;
|
|
42
|
+
try {
|
|
43
|
+
;
|
|
44
|
+
({ test: base, chromium } = require('@playwright/test'));
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
throw new Error('Unable to load @playwright/test: ' + error.message);
|
|
48
|
+
}
|
|
49
|
+
(0, util_1.writeVariables)(axe);
|
|
50
|
+
const test = base.extend({
|
|
51
|
+
// Playwright requires destructing the context object. Removing it yields:
|
|
52
|
+
//
|
|
53
|
+
// Error: First argument must use the object destructuring pattern:
|
|
54
|
+
//
|
|
55
|
+
// eslint-disable-next-line no-empty-pattern
|
|
56
|
+
context: ({}, use) => __awaiter(void 0, void 0, void 0, function* () {
|
|
57
|
+
const context = yield chromium.launchPersistentContext('', Object.assign(Object.assign({}, config), { args: [...(config.args || []), ...util_1.extensionArgs] }));
|
|
58
|
+
yield use(context);
|
|
59
|
+
yield context.close();
|
|
60
|
+
}),
|
|
61
|
+
page: ({ page, context }, use) => __awaiter(void 0, void 0, void 0, function* () {
|
|
62
|
+
controller = new playwright_1.PlaywrightController(page);
|
|
63
|
+
(0, playwright_1.wrapPlaywright)(context, controller);
|
|
64
|
+
yield use(page);
|
|
65
|
+
})
|
|
66
|
+
});
|
|
67
|
+
test.afterEach(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
68
|
+
yield (controller === null || controller === void 0 ? void 0 : controller.flush());
|
|
69
|
+
}));
|
|
70
|
+
const expect = test.expect;
|
|
71
|
+
return { test, expect };
|
|
72
|
+
};
|
|
73
|
+
exports.default = playwrightTest;
|
|
74
|
+
//# sourceMappingURL=playwrightTest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playwrightTest.js","sourceRoot":"","sources":["../src/playwrightTest.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAUA,6CAIqB;AACrB,iCAAsD;AAYtD;;;;;;GAMG;AAEH,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAe,EAAE;IACvD,IAAI,UAAU,GAAgC,IAAI,CAAA;IAClD,MAAM,EAAE,GAAG,KAAgB,OAAO,EAAlB,MAAM,UAAK,OAAO;IAElC,4DAA4D;IAC5D,oDAAoD;MAH9C,OAAkB,CAAU,CAAA;IAElC,4DAA4D;IAC5D,oDAAoD;IACpD,IAAI,IAAU,CAAA;IACd,IAAI,QAAsC,CAAA;IAC1C,IAAI;QACF,CAAC;QAAA,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAA;KAC1D;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CACb,mCAAmC,GAAI,KAAe,CAAC,OAAO,CAC/D,CAAA;KACF;IAED,IAAA,qBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACvB,0EAA0E;QAC1E,EAAE;QACF,mEAAmE;QACnE,EAAE;QACF,4CAA4C;QAC5C,OAAO,EAAE,CAAO,EAAE,EAAE,GAAG,EAAE,EAAE;YACzB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,uBAAuB,CAAC,EAAE,kCACpD,MAAM,KACT,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,oBAAa,CAAC,IAChD,CAAA;YACF,MAAM,GAAG,CAAC,OAAO,CAAC,CAAA;YAClB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;QACvB,CAAC,CAAA;QACD,IAAI,EAAE,CAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE;YACrC,UAAU,GAAG,IAAI,iCAAoB,CAAC,IAAI,CAAC,CAAA;YAC3C,IAAA,2BAAc,EAAC,OAAO,EAAE,UAAU,CAAC,CAAA;YACnC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAA;QACjB,CAAC,CAAA;KACF,CAAC,CAAA;IAEF,IAAI,CAAC,SAAS,CAAC,GAAS,EAAE;QACxB,MAAM,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,EAAE,CAAA,CAAA;IAC3B,CAAC,CAAA,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"}
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
import type { Browser, BrowserContext, ElementHandle, Frame, FrameLocator, JSHandle, Keyboard, Locator, Mouse, Page, Touchscreen } from 'playwright-core';
|
|
2
2
|
import type { PlaywrightController } from './playwright';
|
|
3
|
-
|
|
4
|
-
declare type PossiblyWrapped<T> = T & {
|
|
5
|
-
[kWrapped]?: boolean;
|
|
6
|
-
};
|
|
7
|
-
export declare const isWrapped: <T>(o: PossiblyWrapped<T>) => boolean;
|
|
8
|
-
export declare const markAsWrapped: (o: unknown) => void;
|
|
3
|
+
import { type PossiblyWrapped } from './util';
|
|
9
4
|
export declare const wrapBrowserContext: (browserContext: PossiblyWrapped<BrowserContext>, controller: PlaywrightController) => BrowserContext;
|
|
10
5
|
export declare const wrapBrowser: (browser: PossiblyWrapped<Browser>, controller: PlaywrightController) => Browser;
|
|
11
6
|
export declare const wrapPage: (page: PossiblyWrapped<Page>, controller: PlaywrightController) => Page;
|
|
@@ -17,4 +12,3 @@ export declare const wrapJSHandle: (jsHandle: PossiblyWrapped<JSHandle>, control
|
|
|
17
12
|
export declare const wrapKeyboard: (keyboard: PossiblyWrapped<Keyboard>, controller: PlaywrightController) => Keyboard;
|
|
18
13
|
export declare const wrapMouse: (mouse: PossiblyWrapped<Mouse>, controller: PlaywrightController) => Mouse;
|
|
19
14
|
export declare const wrapTouchscreen: (touchscreen: PossiblyWrapped<Touchscreen>, controller: PlaywrightController) => Touchscreen;
|
|
20
|
-
export {};
|