@applitools/spec-driver-playwright 1.1.1 → 1.3.1
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/index.js +19 -1
- package/dist/spec-driver.js +58 -17
- package/package.json +30 -21
- package/types/index.d.ts +33 -1
- package/CHANGELOG.md +0 -16
- package/types/spec-driver.d.ts +0 -42
package/dist/index.js
CHANGED
|
@@ -1,13 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
8
12
|
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
9
25
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
26
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
27
|
};
|
|
12
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
const spec = __importStar(require("./spec-driver"));
|
|
13
30
|
__exportStar(require("./spec-driver"), exports);
|
|
31
|
+
exports.default = spec;
|
package/dist/spec-driver.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -19,7 +23,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
19
23
|
return result;
|
|
20
24
|
};
|
|
21
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.build = exports.waitUntilDisplayed = exports.scrollIntoView = exports.hover = exports.type = exports.click = exports.takeScreenshot = exports.visit = exports.getUrl = exports.getTitle = exports.setViewportSize = exports.getViewportSize = exports.findElements = exports.findElement = exports.childContext = exports.parentContext = exports.mainContext = exports.executeScript = exports.isStaleElementError = exports.extractContext = exports.transformSelector = exports.isSelector = exports.isElement = exports.isContext = exports.isDriver = void 0;
|
|
26
|
+
exports.build = exports.waitUntilDisplayed = exports.scrollIntoView = exports.hover = exports.type = exports.click = exports.takeScreenshot = exports.visit = exports.getUrl = exports.getTitle = exports.getDriverInfo = exports.getCookies = exports.setViewportSize = exports.getViewportSize = exports.findElements = exports.findElement = exports.childContext = exports.parentContext = exports.mainContext = exports.executeScript = exports.isStaleElementError = exports.extractContext = exports.transformSelector = exports.isSelector = exports.isElement = exports.isContext = exports.isDriver = void 0;
|
|
27
|
+
const fs = __importStar(require("fs"));
|
|
28
|
+
const os = __importStar(require("os"));
|
|
29
|
+
const path = __importStar(require("path"));
|
|
23
30
|
const utils = __importStar(require("@applitools/utils"));
|
|
24
31
|
// #region HELPERS
|
|
25
32
|
async function handleToObject(handle) {
|
|
@@ -63,7 +70,9 @@ function isElement(element) {
|
|
|
63
70
|
}
|
|
64
71
|
exports.isElement = isElement;
|
|
65
72
|
function isSelector(selector) {
|
|
66
|
-
|
|
73
|
+
if (!selector)
|
|
74
|
+
return false;
|
|
75
|
+
return utils.types.isString(selector) || utils.types.instanceOf(selector, 'Locator');
|
|
67
76
|
}
|
|
68
77
|
exports.isSelector = isSelector;
|
|
69
78
|
function transformSelector(selector) {
|
|
@@ -81,7 +90,12 @@ function extractContext(page) {
|
|
|
81
90
|
}
|
|
82
91
|
exports.extractContext = extractContext;
|
|
83
92
|
function isStaleElementError(err) {
|
|
84
|
-
|
|
93
|
+
var _a, _b, _c, _d;
|
|
94
|
+
return (((_a = err === null || err === void 0 ? void 0 : err.message) === null || _a === void 0 ? void 0 : _a.includes('Element is not attached to the DOM')) || // universal message
|
|
95
|
+
((_b = err === null || err === void 0 ? void 0 : err.message) === null || _b === void 0 ? void 0 : _b.includes('Protocol error (DOM.describeNode)')) || // chrome message
|
|
96
|
+
((_c = err === null || err === void 0 ? void 0 : err.message) === null || _c === void 0 ? void 0 : _c.includes('Protocol error (Page.adoptNode)')) || // firefox message
|
|
97
|
+
((_d = err === null || err === void 0 ? void 0 : err.message) === null || _d === void 0 ? void 0 : _d.includes('Unable to adopt element handle from a different document')) // webkit message
|
|
98
|
+
);
|
|
85
99
|
}
|
|
86
100
|
exports.isStaleElementError = isStaleElementError;
|
|
87
101
|
// #endregion
|
|
@@ -111,11 +125,15 @@ async function childContext(_frame, element) {
|
|
|
111
125
|
}
|
|
112
126
|
exports.childContext = childContext;
|
|
113
127
|
async function findElement(frame, selector, parent) {
|
|
128
|
+
if (utils.types.instanceOf(selector, 'Locator'))
|
|
129
|
+
return selector.elementHandle();
|
|
114
130
|
const root = parent !== null && parent !== void 0 ? parent : frame;
|
|
115
131
|
return root.$(selector);
|
|
116
132
|
}
|
|
117
133
|
exports.findElement = findElement;
|
|
118
134
|
async function findElements(frame, selector, parent) {
|
|
135
|
+
if (utils.types.instanceOf(selector, 'Locator'))
|
|
136
|
+
return selector.elementHandles();
|
|
119
137
|
const root = parent !== null && parent !== void 0 ? parent : frame;
|
|
120
138
|
return root.$$(selector);
|
|
121
139
|
}
|
|
@@ -128,6 +146,19 @@ async function setViewportSize(page, size) {
|
|
|
128
146
|
return page.setViewportSize(size);
|
|
129
147
|
}
|
|
130
148
|
exports.setViewportSize = setViewportSize;
|
|
149
|
+
async function getCookies(page) {
|
|
150
|
+
const cookies = await page.context().cookies();
|
|
151
|
+
return cookies.map(cookie => {
|
|
152
|
+
const copy = Object.assign(Object.assign({}, cookie), { expiry: cookie.expires });
|
|
153
|
+
delete copy.expires;
|
|
154
|
+
return copy;
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
exports.getCookies = getCookies;
|
|
158
|
+
async function getDriverInfo(_page) {
|
|
159
|
+
return { features: { allCookies: true } };
|
|
160
|
+
}
|
|
161
|
+
exports.getDriverInfo = getDriverInfo;
|
|
131
162
|
async function getTitle(page) {
|
|
132
163
|
return page.title();
|
|
133
164
|
}
|
|
@@ -170,6 +201,8 @@ async function scrollIntoView(frame, element, align = false) {
|
|
|
170
201
|
}
|
|
171
202
|
exports.scrollIntoView = scrollIntoView;
|
|
172
203
|
async function waitUntilDisplayed(frame, selector) {
|
|
204
|
+
if (utils.types.instanceOf(selector, 'Locator'))
|
|
205
|
+
return selector.waitFor();
|
|
173
206
|
await frame.waitForSelector(selector);
|
|
174
207
|
}
|
|
175
208
|
exports.waitUntilDisplayed = waitUntilDisplayed;
|
|
@@ -183,7 +216,7 @@ const browserNames = {
|
|
|
183
216
|
async function build(env) {
|
|
184
217
|
const playwright = require('playwright');
|
|
185
218
|
const parseEnv = require('@applitools/test-utils/src/parse-env');
|
|
186
|
-
const { browser, device, url, attach, proxy, args = [], headless } = parseEnv(env, 'cdp');
|
|
219
|
+
const { browser, device, url, attach, proxy, args = [], headless, extension } = parseEnv(env, 'cdp');
|
|
187
220
|
const launcher = playwright[browserNames[browser] || browser];
|
|
188
221
|
if (!launcher)
|
|
189
222
|
throw new Error(`Browser "${browser}" is not supported.`);
|
|
@@ -191,30 +224,38 @@ async function build(env) {
|
|
|
191
224
|
throw new Error(`Attaching to the existed browser doesn't supported by playwright`);
|
|
192
225
|
const options = {
|
|
193
226
|
args,
|
|
194
|
-
headless,
|
|
227
|
+
headless: headless && !extension,
|
|
195
228
|
ignoreDefaultArgs: ['--hide-scrollbars'],
|
|
196
229
|
};
|
|
230
|
+
if (extension) {
|
|
231
|
+
options.args.push(`--load-extension=${extension}`, `--disable-extensions-except=${extension}`);
|
|
232
|
+
}
|
|
197
233
|
if (proxy) {
|
|
198
234
|
options.proxy = {
|
|
199
235
|
server: proxy.https || proxy.http || proxy.server,
|
|
200
236
|
bypass: proxy.bypass.join(','),
|
|
201
237
|
};
|
|
202
238
|
}
|
|
203
|
-
let driver;
|
|
204
|
-
if (
|
|
205
|
-
|
|
206
|
-
url.searchParams.set('ignoreDefaultArgs', options.ignoreDefaultArgs.join(','));
|
|
207
|
-
}
|
|
208
|
-
url.searchParams.set('headless', options.headless);
|
|
209
|
-
options.args.forEach((arg) => url.searchParams.set(...arg.split('=')));
|
|
210
|
-
driver = await launcher.connect({ wsEndpoint: url.href });
|
|
239
|
+
let driver, context;
|
|
240
|
+
if (extension) {
|
|
241
|
+
context = await launcher.launchPersistentContext(fs.mkdtempSync(path.join(os.tmpdir(), 'chrome-user-data-dir')), Object.assign(Object.assign(Object.assign({}, options), { viewport: null }), (device ? playwright.devices[device] : {})));
|
|
211
242
|
}
|
|
212
243
|
else {
|
|
213
|
-
|
|
244
|
+
if (url) {
|
|
245
|
+
if (utils.types.isArray(options.ignoreDefaultArgs)) {
|
|
246
|
+
url.searchParams.set('ignoreDefaultArgs', options.ignoreDefaultArgs.join(','));
|
|
247
|
+
}
|
|
248
|
+
url.searchParams.set('headless', options.headless);
|
|
249
|
+
options.args.forEach((arg) => url.searchParams.set(...arg.split('=')));
|
|
250
|
+
driver = await launcher.connect({ wsEndpoint: url.href });
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
driver = await launcher.launch(options);
|
|
254
|
+
}
|
|
255
|
+
context = await driver.newContext(device ? playwright.devices[device] : {});
|
|
214
256
|
}
|
|
215
|
-
const context = await driver.newContext(device ? playwright.devices[device] : {});
|
|
216
257
|
const page = await context.newPage();
|
|
217
|
-
return [page, () => driver.close()];
|
|
258
|
+
return [page, () => (driver ? driver.close() : context.close())];
|
|
218
259
|
}
|
|
219
260
|
exports.build = build;
|
|
220
261
|
// #endregion
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applitools/spec-driver-playwright",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.1",
|
|
4
4
|
"keywords": [
|
|
5
5
|
"playwright",
|
|
6
6
|
"chrome devtools protocol",
|
|
@@ -17,7 +17,8 @@
|
|
|
17
17
|
},
|
|
18
18
|
"repository": {
|
|
19
19
|
"type": "git",
|
|
20
|
-
"url": "git://github.com/applitools/eyes.sdk.javascript1.git"
|
|
20
|
+
"url": "git://github.com/applitools/eyes.sdk.javascript1.git",
|
|
21
|
+
"directory": "packages/spec-driver-playwright"
|
|
21
22
|
},
|
|
22
23
|
"license": "SEE LICENSE IN LICENSE",
|
|
23
24
|
"author": {
|
|
@@ -32,12 +33,14 @@
|
|
|
32
33
|
],
|
|
33
34
|
"scripts": {
|
|
34
35
|
"lint": "eslint '**/*.ts'",
|
|
35
|
-
"build": "
|
|
36
|
-
"build:dist": "tsc",
|
|
36
|
+
"build": "ttsc",
|
|
37
37
|
"test": "mocha ./test/**/*.spec.ts --no-timeouts -r ts-node/register",
|
|
38
|
+
"setup": "yarn playwright:setup",
|
|
39
|
+
"playwright:setup": "sudo npx playwright install-deps",
|
|
40
|
+
"upgrade:framework": "if [ ! -z $APPLITOOLS_PLAYWRIGHT_VERSION ]; then packagejson=`cat package.json`; yarn upgrade --no-lockfile playwright@$APPLITOOLS_PLAYWRIGHT_VERSION; echo \"$packagejson\" > package.json; fi",
|
|
38
41
|
"deps": "bongo deps",
|
|
39
|
-
"gh:test": "gh workflow run test.yml --ref $(git rev-parse --abbrev-ref HEAD) -f packages='spec-playwright' -f links='test-utils
|
|
40
|
-
"gh:publish": "gh workflow run publish.yml --ref $(git rev-parse --abbrev-ref HEAD)
|
|
42
|
+
"gh:test": "gh workflow run test.yml --ref $(git rev-parse --abbrev-ref HEAD) -f packages='spec-playwright' -f links='types utils test-utils'",
|
|
43
|
+
"gh:publish": "gh workflow run publish-spec-playwright.yml --ref $(git rev-parse --abbrev-ref HEAD)",
|
|
41
44
|
"preversion": "bongo preversion",
|
|
42
45
|
"version": "bongo version",
|
|
43
46
|
"postversion": "bongo postversion --skip-release-notification"
|
|
@@ -48,29 +51,35 @@
|
|
|
48
51
|
}
|
|
49
52
|
},
|
|
50
53
|
"dependencies": {
|
|
51
|
-
"@applitools/
|
|
54
|
+
"@applitools/types": "1.4.4",
|
|
55
|
+
"@applitools/utils": "1.3.1"
|
|
52
56
|
},
|
|
53
57
|
"devDependencies": {
|
|
54
|
-
"@applitools/
|
|
55
|
-
"@applitools/
|
|
56
|
-
"@applitools/
|
|
58
|
+
"@applitools/api-extractor": "^1.2.7",
|
|
59
|
+
"@applitools/bongo": "^2.1.0",
|
|
60
|
+
"@applitools/scripts": "1.1.0",
|
|
61
|
+
"@applitools/test-utils": "1.3.2",
|
|
57
62
|
"@types/mocha": "^9.0.0",
|
|
58
|
-
"@types/node": "
|
|
59
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
60
|
-
"@typescript-eslint/parser": "^
|
|
61
|
-
"eslint": "^
|
|
62
|
-
"eslint-config-prettier": "^
|
|
63
|
+
"@types/node": "17.0.36",
|
|
64
|
+
"@typescript-eslint/eslint-plugin": "^5.27.0",
|
|
65
|
+
"@typescript-eslint/parser": "^5.27.0",
|
|
66
|
+
"eslint": "^8.16.0",
|
|
67
|
+
"eslint-config-prettier": "^8.5.0",
|
|
63
68
|
"eslint-plugin-mocha-no-only": "^1.1.1",
|
|
64
69
|
"eslint-plugin-node": "^11.1.0",
|
|
65
|
-
"eslint-plugin-prettier": "^
|
|
70
|
+
"eslint-plugin-prettier": "^4.0.0",
|
|
66
71
|
"husky": "^4.3.7",
|
|
67
|
-
"mocha": "^9.
|
|
68
|
-
"playwright": "^1.
|
|
69
|
-
"prettier": "^2.
|
|
70
|
-
"ts-node": "^10.
|
|
71
|
-
"
|
|
72
|
+
"mocha": "^9.2.2",
|
|
73
|
+
"playwright": "^1.22.2",
|
|
74
|
+
"prettier": "^2.6.2",
|
|
75
|
+
"ts-node": "^10.8.0",
|
|
76
|
+
"ttypescript": "^1.5.13",
|
|
77
|
+
"typescript": "^4.7.2"
|
|
72
78
|
},
|
|
73
79
|
"peerDependencies": {
|
|
74
80
|
"playwright": ">=1.0.0"
|
|
81
|
+
},
|
|
82
|
+
"engines": {
|
|
83
|
+
"node": ">=12.13.0"
|
|
75
84
|
}
|
|
76
85
|
}
|
package/types/index.d.ts
CHANGED
|
@@ -1 +1,33 @@
|
|
|
1
|
-
|
|
1
|
+
declare const _default: import('@applitools/types').SpecDriver<Driver, Context, Element, Selector>;
|
|
2
|
+
export default _default;
|
|
3
|
+
export function isDriver(page: any): page is Driver;
|
|
4
|
+
export function isContext(frame: any): frame is Context;
|
|
5
|
+
export function isElement(element: any): element is Element;
|
|
6
|
+
export function isSelector(selector: any): selector is Selector;
|
|
7
|
+
export function transformSelector(selector: Selector | (string | { selector: string | Selector; type?: string; })): Selector;
|
|
8
|
+
export function extractContext(page: Driver | Context): Context;
|
|
9
|
+
export function isStaleElementError(err: any): boolean;
|
|
10
|
+
export function executeScript(frame: Context, script: string | ((arg: any) => any), arg: any): Promise<any>;
|
|
11
|
+
export function mainContext(frame: Context): Promise<Context>;
|
|
12
|
+
export function parentContext(frame: Context): Promise<Context>;
|
|
13
|
+
export function childContext(_frame: Context, element: Element): Promise<Context>;
|
|
14
|
+
export function findElement(frame: Context, selector: Selector, parent?: Element): Promise<Element>;
|
|
15
|
+
export function findElements(frame: Context, selector: Selector, parent?: Element): Promise<Array<Element>>;
|
|
16
|
+
export function getViewportSize(page: Driver): Promise<import('@applitools/types').Size>;
|
|
17
|
+
export function setViewportSize(page: Driver, size: import('@applitools/types').Size): Promise<void>;
|
|
18
|
+
export function getCookies(page: Driver): Promise<Array<import('@applitools/types').Cookie>>;
|
|
19
|
+
export function getDriverInfo(_page: Driver): Promise<import('@applitools/types').DriverInfo>;
|
|
20
|
+
export function getTitle(page: Driver): Promise<string>;
|
|
21
|
+
export function getUrl(page: Driver): Promise<string>;
|
|
22
|
+
export function visit(page: Driver, url: string): Promise<void>;
|
|
23
|
+
export function takeScreenshot(page: Driver): Promise<Buffer>;
|
|
24
|
+
export function click(frame: Context, element: Element | Selector): Promise<void>;
|
|
25
|
+
export function type(frame: Context, element: Element | Selector, keys: string): Promise<void>;
|
|
26
|
+
export function hover(frame: Context, element: Element | Selector): Promise<void>;
|
|
27
|
+
export function scrollIntoView(frame: Context, element: Element | Selector, align: boolean): Promise<void>;
|
|
28
|
+
export function waitUntilDisplayed(frame: Context, selector: Selector): Promise<void>;
|
|
29
|
+
export function build(env: any): Promise<[Driver, () => Promise<void>]>;
|
|
30
|
+
export type Driver = import('playwright').Page & { __applitoolsBrand?: never; };
|
|
31
|
+
export type Context = import('playwright').Frame & { __applitoolsBrand?: never; };
|
|
32
|
+
export type Element = import('playwright').ElementHandle & { __applitoolsBrand?: never; };
|
|
33
|
+
export type Selector = (string | import('playwright').Locator) & { __applitoolsBrand?: never; };
|
package/CHANGELOG.md
DELETED
package/types/spec-driver.d.ts
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import type * as Playwright from 'playwright';
|
|
3
|
-
export declare type Driver = Playwright.Page;
|
|
4
|
-
export declare type Context = Playwright.Frame;
|
|
5
|
-
export declare type Element = Playwright.ElementHandle;
|
|
6
|
-
export declare type Selector = string;
|
|
7
|
-
declare type CommonSelector = string | {
|
|
8
|
-
selector: Selector | string;
|
|
9
|
-
type?: string;
|
|
10
|
-
};
|
|
11
|
-
export declare function isDriver(page: any): page is Driver;
|
|
12
|
-
export declare function isContext(frame: any): frame is Context;
|
|
13
|
-
export declare function isElement(element: any): element is Element;
|
|
14
|
-
export declare function isSelector(selector: any): selector is Selector;
|
|
15
|
-
export declare function transformSelector(selector: Selector | CommonSelector): Selector;
|
|
16
|
-
export declare function extractContext(page: Driver | Context): Context;
|
|
17
|
-
export declare function isStaleElementError(err: any): boolean;
|
|
18
|
-
export declare function executeScript(frame: Context, script: ((arg: any) => any) | string, arg: any): Promise<any>;
|
|
19
|
-
export declare function mainContext(frame: Context): Promise<Context>;
|
|
20
|
-
export declare function parentContext(frame: Context): Promise<Context>;
|
|
21
|
-
export declare function childContext(_frame: Context, element: Element): Promise<Context>;
|
|
22
|
-
export declare function findElement(frame: Context, selector: Selector, parent?: Element): Promise<Element>;
|
|
23
|
-
export declare function findElements(frame: Context, selector: Selector, parent?: Element): Promise<Element[]>;
|
|
24
|
-
export declare function getViewportSize(page: Driver): Promise<{
|
|
25
|
-
width: number;
|
|
26
|
-
height: number;
|
|
27
|
-
}>;
|
|
28
|
-
export declare function setViewportSize(page: Driver, size: {
|
|
29
|
-
width: number;
|
|
30
|
-
height: number;
|
|
31
|
-
}): Promise<void>;
|
|
32
|
-
export declare function getTitle(page: Driver): Promise<string>;
|
|
33
|
-
export declare function getUrl(page: Driver): Promise<string>;
|
|
34
|
-
export declare function visit(page: Driver, url: string): Promise<void>;
|
|
35
|
-
export declare function takeScreenshot(page: Driver): Promise<Buffer>;
|
|
36
|
-
export declare function click(frame: Context, element: Element | Selector): Promise<void>;
|
|
37
|
-
export declare function type(frame: Context, element: Element | Selector, keys: string): Promise<void>;
|
|
38
|
-
export declare function hover(frame: Context, element: Element | Selector): Promise<void>;
|
|
39
|
-
export declare function scrollIntoView(frame: Context, element: Element | Selector, align?: boolean): Promise<void>;
|
|
40
|
-
export declare function waitUntilDisplayed(frame: Context, selector: Selector): Promise<void>;
|
|
41
|
-
export declare function build(env: any): Promise<[Driver, () => Promise<void>]>;
|
|
42
|
-
export {};
|