appium-cdp-driver 1.0.5 → 1.0.7
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/package.json +2 -1
- package/src/adb.js +62 -64
- package/src/driver.js +30 -5
- package/build/scripts/brave.js +0 -99
- package/build/scripts/duckduckgo.js +0 -100
- package/build/scripts/opera.js +0 -134
- package/build/src/adb.js +0 -144
- package/build/src/cdp.js +0 -22
- package/build/src/commands/cookies.js +0 -63
- package/build/src/commands/createSession.js +0 -2
- package/build/src/commands/document.js +0 -24
- package/build/src/commands/element.js +0 -85
- package/build/src/commands/find.js +0 -78
- package/build/src/commands/index.js +0 -16
- package/build/src/commands/navigation.js +0 -34
- package/build/src/commands/screencapture.js +0 -31
- package/build/src/commands/url.js +0 -34
- package/build/src/driver.js +0 -107
- package/build/src/index.js +0 -51
- package/build/src/logger.js +0 -6
package/build/src/adb.js
DELETED
|
@@ -1,144 +0,0 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.getAdb = getAdb;
|
|
16
|
-
exports.requireSdkRoot = requireSdkRoot;
|
|
17
|
-
exports.adbExec = adbExec;
|
|
18
|
-
exports.startApplication = startApplication;
|
|
19
|
-
const appium_adb_1 = require("appium-adb");
|
|
20
|
-
const support_1 = require("@appium/support");
|
|
21
|
-
const get_port_1 = __importDefault(require("get-port"));
|
|
22
|
-
const logger_1 = __importDefault(require("./logger"));
|
|
23
|
-
let adb;
|
|
24
|
-
const START_APP_WAIT_DURATION = 60000;
|
|
25
|
-
const DEVTOOLS_SOCKET_MAP = {
|
|
26
|
-
chrome: 'chrome_devtools_remote',
|
|
27
|
-
brave: 'chrome_devtools_remote',
|
|
28
|
-
opera: 'com.opera.browser.devtools',
|
|
29
|
-
duckduckgo: 'webview_devtools_remote',
|
|
30
|
-
terrance: 'com.sec.android.app.sbrowser_devtools_remote',
|
|
31
|
-
};
|
|
32
|
-
function getAdb() {
|
|
33
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
-
try {
|
|
35
|
-
if (!adb) {
|
|
36
|
-
adb = yield appium_adb_1.ADB.createADB();
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
catch (e) {
|
|
40
|
-
console.log(e);
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
function requireSdkRoot() {
|
|
45
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
-
const sdkRoot = (0, appium_adb_1.getSdkRootFromEnv)();
|
|
47
|
-
const docMsg = 'Read https://developer.android.com/studio/command-line/variables for more details';
|
|
48
|
-
if (_.isEmpty(sdkRoot)) {
|
|
49
|
-
throw new Error(`Neither ANDROID_HOME nor ANDROID_SDK_ROOT environment variable was exported. ${docMsg}`);
|
|
50
|
-
}
|
|
51
|
-
if (!(yield support_1.fs.exists(sdkRoot))) {
|
|
52
|
-
throw new Error(`The Android SDK root folder '${sdkRoot}' does not exist on the local file system. ${docMsg}`);
|
|
53
|
-
}
|
|
54
|
-
const stats = yield support_1.fs.stat(sdkRoot);
|
|
55
|
-
if (!stats.isDirectory()) {
|
|
56
|
-
throw new Error(`The Android SDK root '${sdkRoot}' must be a folder. ${docMsg}`);
|
|
57
|
-
}
|
|
58
|
-
return sdkRoot;
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
function adbExec() {
|
|
62
|
-
return __awaiter(this, arguments, void 0, function* (browser = 'chrome') {
|
|
63
|
-
let freePort = yield (0, get_port_1.default)();
|
|
64
|
-
let devtoolsSocket = DEVTOOLS_SOCKET_MAP[browser] || `${browser}_devtools_remote`;
|
|
65
|
-
if (browser === 'duckduckgo') {
|
|
66
|
-
const pid = yield getDuckDuckGoPid(browser);
|
|
67
|
-
if (pid) {
|
|
68
|
-
devtoolsSocket = `webview_devtools_remote_${pid}`;
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
throw new Error(`Unable to get PID for ${browser}`);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
yield adb.adbExec([
|
|
75
|
-
'forward',
|
|
76
|
-
`tcp:${freePort}`,
|
|
77
|
-
`localabstract:${devtoolsSocket}`,
|
|
78
|
-
]);
|
|
79
|
-
return freePort;
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
function getDuckDuckGoPid() {
|
|
83
|
-
return __awaiter(this, arguments, void 0, function* (browser = 'duckduckgo') {
|
|
84
|
-
const packageName = 'com.duckduckgo.mobile.android';
|
|
85
|
-
try {
|
|
86
|
-
const output = yield adb.adbExec(['shell', 'pidof', packageName]);
|
|
87
|
-
const pid = output.trim();
|
|
88
|
-
return pid || null;
|
|
89
|
-
}
|
|
90
|
-
catch (err) {
|
|
91
|
-
console.error(`Unable to get PID for ${browser}:`, err.message);
|
|
92
|
-
return null;
|
|
93
|
-
}
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
function startApplication() {
|
|
97
|
-
return __awaiter(this, arguments, void 0, function* (browser = 'chrome') {
|
|
98
|
-
const common = {
|
|
99
|
-
waitDuration: START_APP_WAIT_DURATION,
|
|
100
|
-
optionalIntentArguments: '-d www.appium.io',
|
|
101
|
-
};
|
|
102
|
-
const chrome = {
|
|
103
|
-
pkg: 'com.android.chrome',
|
|
104
|
-
activity: 'com.google.android.apps.chrome.Main',
|
|
105
|
-
};
|
|
106
|
-
const terrance = {
|
|
107
|
-
pkg: 'com.sec.android.app.sbrowser',
|
|
108
|
-
activity: 'com.sec.android.app.sbrowser.SBrowserMainActivity',
|
|
109
|
-
};
|
|
110
|
-
const brave = {
|
|
111
|
-
pkg: 'com.brave.browser',
|
|
112
|
-
activity: 'com.google.android.apps.chrome.Main',
|
|
113
|
-
};
|
|
114
|
-
const opera = {
|
|
115
|
-
pkg: 'com.opera.browser',
|
|
116
|
-
activity: 'com.opera.android.BrowserActivity',
|
|
117
|
-
};
|
|
118
|
-
const duckduckgo = {
|
|
119
|
-
pkg: 'com.duckduckgo.mobile.android',
|
|
120
|
-
activity: 'com.duckduckgo.app.browser.BrowserActivity',
|
|
121
|
-
};
|
|
122
|
-
if (browser === 'chrome') {
|
|
123
|
-
logger_1.default.info(`Starting Chrome`);
|
|
124
|
-
yield adb.startApp(Object.assign({}, chrome, common));
|
|
125
|
-
}
|
|
126
|
-
else if (browser === 'terrance') {
|
|
127
|
-
logger_1.default.info(`Starting Terrance`);
|
|
128
|
-
yield adb.startApp(Object.assign({}, terrance, common));
|
|
129
|
-
}
|
|
130
|
-
else if (browser === 'brave') {
|
|
131
|
-
logger_1.default.info(`Starting Brave`);
|
|
132
|
-
yield adb.startApp(Object.assign({}, brave, common));
|
|
133
|
-
}
|
|
134
|
-
else if (browser === 'opera') {
|
|
135
|
-
logger_1.default.info(`Starting Opera`);
|
|
136
|
-
yield adb.startApp(Object.assign({}, opera, common));
|
|
137
|
-
}
|
|
138
|
-
else if (browser === 'duckduckgo') {
|
|
139
|
-
logger_1.default.info(`Starting DuckDuckGo`);
|
|
140
|
-
yield adb.startApp(Object.assign({}, duckduckgo, common));
|
|
141
|
-
}
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FkYi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQWdCQSx3QkFRQztBQUVELHdDQXNCQztBQUVELDBCQW9CQztBQWNELDRDQThDQztBQWxJRCwyQ0FBb0Q7QUFDcEQsNkNBQXFDO0FBQ3JDLHdEQUErQjtBQUMvQixzREFBMkI7QUFFM0IsSUFBSSxHQUFHLENBQUM7QUFDUixNQUFNLHVCQUF1QixHQUFHLEtBQUssQ0FBQztBQUV0QyxNQUFNLG1CQUFtQixHQUFHO0lBQzFCLE1BQU0sRUFBRSx3QkFBd0I7SUFDaEMsS0FBSyxFQUFFLHdCQUF3QjtJQUMvQixLQUFLLEVBQUUsNEJBQTRCO0lBQ25DLFVBQVUsRUFBRSx5QkFBeUI7SUFDckMsUUFBUSxFQUFFLDhDQUE4QztDQUN6RCxDQUFDO0FBRUYsU0FBc0IsTUFBTTs7UUFDMUIsSUFBSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNULEdBQUcsR0FBRyxNQUFNLGdCQUFHLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDOUIsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqQixDQUFDO0lBQ0gsQ0FBQztDQUFBO0FBRUQsU0FBc0IsY0FBYzs7UUFDbEMsTUFBTSxPQUFPLEdBQUcsSUFBQSw4QkFBaUIsR0FBRSxDQUFDO1FBQ3BDLE1BQU0sTUFBTSxHQUNWLG1GQUFtRixDQUFDO1FBQ3RGLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQ2IsZ0ZBQWdGLE1BQU0sRUFBRSxDQUN6RixDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksQ0FBQyxDQUFDLE1BQU0sWUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMs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
|
package/build/src/cdp.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
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.getNetwork = getNetwork;
|
|
13
|
-
const taiko_1 = require("taiko");
|
|
14
|
-
function getNetwork() {
|
|
15
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
16
|
-
const cdpClient = yield (0, taiko_1.client)();
|
|
17
|
-
const Network = cdpClient.Network;
|
|
18
|
-
yield Network.enable();
|
|
19
|
-
return Network;
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NkcC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUVBLGdDQUtDO0FBUEQsaUNBQStCO0FBRS9CLFNBQXNCLFVBQVU7O1FBQzVCLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBQSxjQUFNLEdBQUUsQ0FBQztRQUNqQyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1FBQ2xDLE1BQU0sT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7Q0FBQSJ9
|
|
@@ -1,63 +0,0 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.elementCache = exports.helpers = exports.commands = void 0;
|
|
16
|
-
const cdp_1 = require("../cdp");
|
|
17
|
-
const url_1 = __importDefault(require("./url"));
|
|
18
|
-
let commands = {}, helpers = {}, extensions = {};
|
|
19
|
-
exports.commands = commands;
|
|
20
|
-
exports.helpers = helpers;
|
|
21
|
-
commands.setCookie = function setCookie(cookie) {
|
|
22
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
-
const url = yield url_1.default.getUrl();
|
|
24
|
-
const origin = (new URL(url)).origin;
|
|
25
|
-
const options = {};
|
|
26
|
-
options.name = cookie.name;
|
|
27
|
-
options.value = cookie.value;
|
|
28
|
-
options.url = origin;
|
|
29
|
-
const network = yield (0, cdp_1.getNetwork)();
|
|
30
|
-
return network.setCookie(options);
|
|
31
|
-
});
|
|
32
|
-
};
|
|
33
|
-
commands.getCookies = function getCookies() {
|
|
34
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
-
const network = yield (0, cdp_1.getNetwork)();
|
|
36
|
-
const allCookies = yield network.getAllCookies();
|
|
37
|
-
return allCookies.cookies;
|
|
38
|
-
});
|
|
39
|
-
};
|
|
40
|
-
commands.getCookie = function getCookie(key) {
|
|
41
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
-
const network = yield (0, cdp_1.getNetwork)();
|
|
43
|
-
const allCookies = yield network.getAllCookies();
|
|
44
|
-
return allCookies.cookies.filter((cookie) => { return cookie.name === key; })[0];
|
|
45
|
-
});
|
|
46
|
-
};
|
|
47
|
-
commands.deleteCookie = function deleteCookie(key) {
|
|
48
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
-
const allCookies = yield commands.getCookies();
|
|
50
|
-
const cookie = allCookies.filter((cookie) => { return cookie.name === key; })[0];
|
|
51
|
-
const network = yield (0, cdp_1.getNetwork)();
|
|
52
|
-
return network.deleteCookies({ name: key, domain: cookie.domain });
|
|
53
|
-
});
|
|
54
|
-
};
|
|
55
|
-
commands.deleteCookies = function deleteAllCookies() {
|
|
56
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
-
const network = yield (0, cdp_1.getNetwork)();
|
|
58
|
-
return network.clearBrowserCookies();
|
|
59
|
-
});
|
|
60
|
-
};
|
|
61
|
-
Object.assign(extensions, commands, helpers);
|
|
62
|
-
exports.default = extensions;
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9jb29raWVzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdDQUFvQztBQUNwQyxnREFBZ0M7QUFFaEMsSUFBSSxRQUFRLEdBQUcsRUFBRSxFQUNiLE9BQU8sR0FBRyxFQUFFLEVBQ1osVUFBVSxHQUFHLEVBQUUsQ0FBQztBQXdDWCw0QkFBUTtBQUFFLDBCQUFPO0FBdEMxQixRQUFRLENBQUMsU0FBUyxHQUFHLFNBQWUsU0FBUyxDQUFDLE1BQU07O1FBQ2hELE1BQU0sR0FBRyxHQUFHLE1BQU0sYUFBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sTUFBTSxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFFckMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ25CLE9BQU8sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUMzQixPQUFPLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDN0IsT0FBTyxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFFckIsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFBLGdCQUFVLEdBQUUsQ0FBQztRQUNuQyxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztDQUFBLENBQUE7QUFFRCxRQUFRLENBQUMsVUFBVSxHQUFHLFNBQWUsVUFBVTs7UUFDM0MsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFBLGdCQUFVLEdBQUUsQ0FBQztRQUNuQyxNQUFNLFVBQVUsR0FBRyxNQUFNLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNqRCxPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUM7SUFDOUIsQ0FBQztDQUFBLENBQUE7QUFFRCxRQUFRLENBQUMsU0FBUyxHQUFHLFNBQWUsU0FBUyxDQUFDLEdBQUc7O1FBQzdDLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBQSxnQkFBVSxHQUFFLENBQUM7UUFDbkMsTUFBTSxVQUFVLEdBQUcsTUFBTSxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDakQsT0FBTyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUUsT0FBTyxNQUFNLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQSxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7Q0FBQSxDQUFBO0FBRUQsUUFBUSxDQUFDLFlBQVksR0FBRyxTQUFlLFlBQVksQ0FBQyxHQUFHOztRQUNuRCxNQUFNLFVBQVUsR0FBRyxNQUFNLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMvQyxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsR0FBRyxPQUFPLE1BQU0sQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakYsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFBLGdCQUFVLEdBQUUsQ0FBQztRQUNuQyxPQUFPLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0NBQUEsQ0FBQTtBQUVELFFBQVEsQ0FBQyxhQUFhLEdBQUcsU0FBZSxnQkFBZ0I7O1FBQ3BELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBQSxnQkFBVSxHQUFFLENBQUM7UUFDbkMsT0FBTyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0NBQUEsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUU3QyxrQkFBZSxVQUFVLENBQUMifQ==
|
|
@@ -1,24 +0,0 @@
|
|
|
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.elementCache = exports.helpers = exports.commands = void 0;
|
|
13
|
-
const taiko_1 = require("taiko");
|
|
14
|
-
let commands = {}, helpers = {}, extensions = {};
|
|
15
|
-
exports.commands = commands;
|
|
16
|
-
exports.helpers = helpers;
|
|
17
|
-
commands.getPageSource = function pageSource() {
|
|
18
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
19
|
-
return (0, taiko_1.evaluate)(() => { return document.documentElement.outerHTML; });
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
Object.assign(extensions, commands, helpers);
|
|
23
|
-
exports.default = extensions;
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvZG9jdW1lbnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsaUNBQWlDO0FBRWpDLElBQUksUUFBUSxHQUFHLEVBQUUsRUFDZixPQUFPLEdBQUcsRUFBRSxFQUNaLFVBQVUsR0FBRyxFQUFFLENBQUM7QUFPVCw0QkFBUTtBQUFFLDBCQUFPO0FBTDFCLFFBQVEsQ0FBQyxhQUFhLEdBQUcsU0FBZSxVQUFVOztRQUM5QyxPQUFPLElBQUEsZ0JBQVEsRUFBRSxHQUFHLEVBQUUsR0FBRyxPQUFPLFFBQVEsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUUsQ0FBQztDQUFBLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFFN0Msa0JBQWUsVUFBVSxDQUFDIn0=
|
|
@@ -1,85 +0,0 @@
|
|
|
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.helpers = exports.commands = void 0;
|
|
13
|
-
const taiko_1 = require("taiko");
|
|
14
|
-
const find_1 = require("./find");
|
|
15
|
-
let commands = {}, helpers = {}, extensions = {};
|
|
16
|
-
exports.commands = commands;
|
|
17
|
-
exports.helpers = helpers;
|
|
18
|
-
function _click(element) {
|
|
19
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
20
|
-
yield (0, taiko_1.click)(element);
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
commands.click = function click(elementId) {
|
|
24
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
-
const element = find_1.elementCache[elementId];
|
|
26
|
-
yield _click(element);
|
|
27
|
-
});
|
|
28
|
-
};
|
|
29
|
-
commands.getText = function getText(elementId) {
|
|
30
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
-
const element = find_1.elementCache[elementId];
|
|
32
|
-
return element.text();
|
|
33
|
-
});
|
|
34
|
-
};
|
|
35
|
-
commands.elementDisplayed = function elementDisplayed(elementId) {
|
|
36
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
-
const element = find_1.elementCache[elementId];
|
|
38
|
-
return element.isVisible();
|
|
39
|
-
});
|
|
40
|
-
};
|
|
41
|
-
commands.elementEnabled = function elementEnabled(elementId) {
|
|
42
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
-
const element = find_1.elementCache[elementId];
|
|
44
|
-
return !(yield element.isDisabled());
|
|
45
|
-
});
|
|
46
|
-
};
|
|
47
|
-
commands.setValue = function setValue(value, elementId) {
|
|
48
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
-
const element = find_1.elementCache[elementId];
|
|
50
|
-
const input = Array.isArray(value) ? value.join('') : value;
|
|
51
|
-
yield (0, taiko_1.write)(input, (0, taiko_1.into)(element));
|
|
52
|
-
});
|
|
53
|
-
};
|
|
54
|
-
commands.clear = function clear(elementId) {
|
|
55
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
-
const element = find_1.elementCache[elementId];
|
|
57
|
-
yield (0, taiko_1.write)("", (0, taiko_1.into)(element));
|
|
58
|
-
});
|
|
59
|
-
};
|
|
60
|
-
commands.getAttribute = function getAttribute(value, elementId) {
|
|
61
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
-
const element = find_1.elementCache[elementId];
|
|
63
|
-
return yield element.attribute(value);
|
|
64
|
-
});
|
|
65
|
-
};
|
|
66
|
-
commands.getElementRect = function getElementRect(elementId) {
|
|
67
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
-
const element = find_1.elementCache[elementId];
|
|
69
|
-
return yield (0, taiko_1.evaluate)(element, (element) => {
|
|
70
|
-
const { x, y, width, height } = element.getBoundingClientRect();
|
|
71
|
-
return { x, y, width, height };
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
};
|
|
75
|
-
commands.getName = function getName(elementId) {
|
|
76
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
77
|
-
const element = find_1.elementCache[elementId];
|
|
78
|
-
return yield (0, taiko_1.evaluate)(element, (element) => {
|
|
79
|
-
return element.tagName;
|
|
80
|
-
});
|
|
81
|
-
});
|
|
82
|
-
};
|
|
83
|
-
Object.assign(extensions, commands, helpers);
|
|
84
|
-
exports.default = extensions;
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9lbGVtZW50LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLGlDQUFtRDtBQUNuRCxpQ0FBc0M7QUFFdEMsSUFBSSxRQUFRLEdBQUcsRUFBRSxFQUNmLE9BQU8sR0FBRyxFQUFFLEVBQ1osVUFBVSxHQUFHLEVBQUUsQ0FBQztBQTJEVCw0QkFBUTtBQUFFLDBCQUFPO0FBekQxQixTQUFlLE1BQU0sQ0FBQyxPQUFPOztRQUMzQixNQUFNLElBQUEsYUFBSyxFQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7Q0FBQTtBQUNELFFBQVEsQ0FBQyxLQUFLLEdBQUcsU0FBZSxLQUFLLENBQUMsU0FBUzs7UUFDN0MsTUFBTSxPQUFPLEdBQUcsbUJBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN4QyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QixDQUFDO0NBQUEsQ0FBQztBQUVGLFFBQVEsQ0FBQyxPQUFPLEdBQUcsU0FBZSxPQUFPLENBQUMsU0FBUzs7UUFDakQsTUFBTSxPQUFPLEdBQUcsbUJBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN4QyxPQUFPLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0NBQUEsQ0FBQztBQUVGLFFBQVEsQ0FBQyxnQkFBZ0IsR0FBRyxTQUFlLGdCQUFnQixDQUFDLFNBQVM7O1FBQ25FLE1BQU0sT0FBTyxHQUFHLG1CQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEMsT0FBTyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDN0IsQ0FBQztDQUFBLENBQUM7QUFFRixRQUFRLENBQUMsY0FBYyxHQUFHLFNBQWUsY0FBYyxDQUFDLFNBQVM7O1FBQy9ELE1BQU0sT0FBTyxHQUFHLG1CQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEMsT0FBTyxDQUFDLENBQUEsTUFBTSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUEsQ0FBQztJQUNyQyxDQUFDO0NBQUEsQ0FBQztBQUVGLFFBQVEsQ0FBQyxRQUFRLEdBQUcsU0FBZSxRQUFRLENBQUMsS0FBSyxFQUFFLFNBQVM7O1FBQzFELE1BQU0sT0FBTyxHQUFHLG1CQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQzVELE1BQU0sSUFBQSxhQUFLLEVBQUMsS0FBSyxFQUFFLElBQUEsWUFBSSxFQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDcEMsQ0FBQztDQUFBLENBQUM7QUFFRixRQUFRLENBQUMsS0FBSyxHQUFHLFNBQWUsS0FBSyxDQUFDLFNBQVM7O1FBQzdDLE1BQU0sT0FBTyxHQUFHLG1CQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEMsTUFBTSxJQUFBLGFBQUssRUFBQyxFQUFFLEVBQUUsSUFBQSxZQUFJLEVBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNqQyxDQUFDO0NBQUEsQ0FBQztBQUVGLFFBQVEsQ0FBQyxZQUFZLEdBQUcsU0FBZSxZQUFZLENBQUMsS0FBSyxFQUFFLFNBQVM7O1FBQ2xFLE1BQU0sT0FBTyxHQUFHLG1CQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEMsT0FBTyxNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztDQUFBLENBQUM7QUFFRixRQUFRLENBQUMsY0FBYyxHQUFHLFNBQWUsY0FBYyxDQUFDLFNBQVM7O1FBQy9ELE1BQU0sT0FBTyxHQUFHLG1CQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEMsT0FBTyxNQUFNLElBQUEsZ0JBQVEsRUFBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUV6QyxNQUFNLEVBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDL0QsT0FBTyxFQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFBO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUFBLENBQUE7QUFFRCxRQUFRLENBQUMsT0FBTyxHQUFHLFNBQWUsT0FBTyxDQUFDLFNBQVM7O1FBQ2pELE1BQU0sT0FBTyxHQUFHLG1CQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEMsT0FBTyxNQUFNLElBQUEsZ0JBQVEsRUFBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUUxQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQUEsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUU3QyxrQkFBZSxVQUFVLENBQUMifQ==
|
|
@@ -1,78 +0,0 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.elementCache = exports.helpers = exports.commands = void 0;
|
|
16
|
-
const base_driver_1 = require("@appium/base-driver");
|
|
17
|
-
const taiko_1 = require("taiko");
|
|
18
|
-
const logger_1 = __importDefault(require("../logger"));
|
|
19
|
-
const support_1 = require("@appium/support");
|
|
20
|
-
const constants_1 = require("@appium/base-driver/build/lib/constants");
|
|
21
|
-
let commands = {}, helpers = {}, extensions = {}, elementCache = {};
|
|
22
|
-
exports.commands = commands;
|
|
23
|
-
exports.helpers = helpers;
|
|
24
|
-
exports.elementCache = elementCache;
|
|
25
|
-
function getUUID() {
|
|
26
|
-
return support_1.util.uuidV4();
|
|
27
|
-
}
|
|
28
|
-
helpers.findElOrEls = function findElOrEls(strategy, selector, mult, context) {
|
|
29
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
-
logger_1.default.info(`Strategy is ${strategy}`);
|
|
31
|
-
logger_1.default.info(`Selector is ${selector}`);
|
|
32
|
-
logger_1.default.info(`Mult is ${mult}`);
|
|
33
|
-
logger_1.default.info(`Context is ${context}`);
|
|
34
|
-
// const elStrategy = $(selector);
|
|
35
|
-
let elStrategy;
|
|
36
|
-
switch (strategy) {
|
|
37
|
-
case 'id':
|
|
38
|
-
elStrategy = (0, taiko_1.$)(`#${selector}`);
|
|
39
|
-
break;
|
|
40
|
-
case 'class':
|
|
41
|
-
elStrategy = (0, taiko_1.$)(`.${selector}`);
|
|
42
|
-
default:
|
|
43
|
-
elStrategy = (0, taiko_1.$)(selector);
|
|
44
|
-
}
|
|
45
|
-
if ((yield elStrategy.exists()) && !mult) {
|
|
46
|
-
const elementId = getUUID();
|
|
47
|
-
elementCache[elementId] = elStrategy;
|
|
48
|
-
return { [constants_1.W3C_ELEMENT_KEY]: elementId };
|
|
49
|
-
}
|
|
50
|
-
else if (mult) {
|
|
51
|
-
const foundEls = yield elStrategy.elements();
|
|
52
|
-
logger_1.default.info(`Found ${foundEls.length} elements using strategy: ${strategy}`);
|
|
53
|
-
const els = [];
|
|
54
|
-
foundEls.forEach((element) => {
|
|
55
|
-
const elementId = getUUID();
|
|
56
|
-
elementCache[elementId] = element;
|
|
57
|
-
els.push({ ELEMENT: elementId });
|
|
58
|
-
});
|
|
59
|
-
return els;
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
throw new base_driver_1.errors.NoSuchElementError(`unable to find element: ${selector}`);
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
};
|
|
66
|
-
commands.findElement = function findElement(strategy, selector) {
|
|
67
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
-
return this.findElOrEls(strategy, selector, false);
|
|
69
|
-
});
|
|
70
|
-
};
|
|
71
|
-
commands.findElements = function findElements(strategy, selector) {
|
|
72
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
73
|
-
return this.findElOrEls(strategy, selector, true);
|
|
74
|
-
});
|
|
75
|
-
};
|
|
76
|
-
Object.assign(extensions, commands, helpers);
|
|
77
|
-
exports.default = extensions;
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9maW5kLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFEQUE2QztBQUM3QyxpQ0FBMEI7QUFDMUIsdURBQTRCO0FBQzVCLDZDQUF1QztBQUN2Qyx1RUFBMEU7QUFFMUUsSUFBSSxRQUFRLEdBQUcsRUFBRSxFQUNmLE9BQU8sR0FBRyxFQUFFLEVBQ1osVUFBVSxHQUFHLEVBQUUsRUFDZixZQUFZLEdBQUcsRUFBRSxDQUFDO0FBdURYLDRCQUFRO0FBQUUsMEJBQU87QUFBRSxvQ0FBWTtBQXJEeEMsU0FBUyxPQUFPO0lBQ2QsT0FBTyxjQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7QUFDdkIsQ0FBQztBQUVELE9BQU8sQ0FBQyxXQUFXLEdBQUcsU0FBZSxXQUFXLENBQzlDLFFBQVEsRUFDUixRQUFRLEVBQ1IsSUFBSSxFQUNKLE9BQU87O1FBRVAsZ0JBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLGdCQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNwQyxnQkFBRyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLENBQUM7UUFDNUIsZ0JBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ2xDLGtDQUFrQztRQUNsQyxJQUFJLFVBQVUsQ0FBQztRQUNmLFFBQVEsUUFBUSxFQUFFLENBQUM7WUFDakIsS0FBSyxJQUFJO2dCQUNQLFVBQVUsR0FBRyxJQUFBLFNBQUMsRUFBQyxJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUM7Z0JBQy9CLE1BQU07WUFDUixLQUFLLE9BQU87Z0JBQ1YsVUFBVSxHQUFHLElBQUEsU0FBQyxFQUFDLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNqQztnQkFDRSxVQUFVLEdBQUcsSUFBQSxTQUFDLEVBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekMsTUFBTSxTQUFTLEdBQUcsT0FBTyxFQUFFLENBQUM7WUFDNUIsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFVBQVUsQ0FBQztZQUNyQyxPQUFPLEVBQUUsQ0FBQywyQkFBZSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDMUMsQ0FBQzthQUFNLElBQUksSUFBSSxFQUFFLENBQUM7WUFDaEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDN0MsZ0JBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxRQUFRLENBQUMsTUFBTSw2QkFBNkIsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUMxRSxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDZixRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQzNCLE1BQU0sU0FBUyxHQUFHLE9BQU8sRUFBRSxDQUFDO2dCQUM1QixZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsT0FBTyxDQUFDO2dCQUNsQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7WUFDbkMsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLG9CQUFNLENBQUMsa0JBQWtCLENBQUMsMkJBQTJCLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDN0UsQ0FBQztJQUNILENBQUM7Q0FBQSxDQUFDO0FBRUYsUUFBUSxDQUFDLFdBQVcsR0FBRyxTQUFlLFdBQVcsQ0FBQyxRQUFRLEVBQUUsUUFBUTs7UUFDbEUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQztDQUFBLENBQUM7QUFFRixRQUFRLENBQUMsWUFBWSxHQUFHLFNBQWUsWUFBWSxDQUFDLFFBQVEsRUFBRSxRQUFROztRQUNwRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwRCxDQUFDO0NBQUEsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUU3QyxrQkFBZSxVQUFVLENBQUMifQ==
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const url_1 = __importDefault(require("./url"));
|
|
7
|
-
const find_1 = __importDefault(require("./find"));
|
|
8
|
-
const element_1 = __importDefault(require("./element"));
|
|
9
|
-
const navigation_1 = __importDefault(require("./navigation"));
|
|
10
|
-
const document_1 = __importDefault(require("./document"));
|
|
11
|
-
const cookies_1 = __importDefault(require("./cookies"));
|
|
12
|
-
const screencapture_1 = __importDefault(require("./screencapture"));
|
|
13
|
-
let commands = {};
|
|
14
|
-
Object.assign(commands, screencapture_1.default, cookies_1.default, document_1.default, navigation_1.default, url_1.default, find_1.default, element_1.default);
|
|
15
|
-
exports.default = commands;
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnREFBZ0M7QUFDaEMsa0RBQWlDO0FBQ2pDLHdEQUF3QztBQUN4Qyw4REFBOEM7QUFDOUMsMERBQTBDO0FBQzFDLHdEQUF1QztBQUN2QyxvRUFBZ0Q7QUFFaEQsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFDO0FBRWxCLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLHVCQUFrQixFQUFFLGlCQUFjLEVBQUUsa0JBQWdCLEVBQUUsb0JBQWtCLEVBQUUsYUFBVyxFQUFFLGNBQVcsRUFBRSxpQkFBZSxDQUFDLENBQUM7QUFFN0ksa0JBQWUsUUFBUSxDQUFDIn0=
|
|
@@ -1,34 +0,0 @@
|
|
|
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.elementCache = exports.helpers = exports.commands = void 0;
|
|
13
|
-
const taiko_1 = require("taiko");
|
|
14
|
-
let commands = {}, helpers = {}, extensions = {};
|
|
15
|
-
exports.commands = commands;
|
|
16
|
-
exports.helpers = helpers;
|
|
17
|
-
commands.title = function pageTitle() {
|
|
18
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
19
|
-
return yield (0, taiko_1.title)();
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
commands.back = function back() {
|
|
23
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
yield (0, taiko_1.goBack)();
|
|
25
|
-
});
|
|
26
|
-
};
|
|
27
|
-
commands.forward = function forward() {
|
|
28
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
-
yield (0, taiko_1.goForward)();
|
|
30
|
-
});
|
|
31
|
-
};
|
|
32
|
-
Object.assign(extensions, commands, helpers);
|
|
33
|
-
exports.default = extensions;
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9uYXZpZ2F0aW9uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLGlDQUFpRDtBQUVqRCxJQUFJLFFBQVEsR0FBRyxFQUFFLEVBQ2YsT0FBTyxHQUFHLEVBQUUsRUFDWixVQUFVLEdBQUcsRUFBRSxDQUFDO0FBZVQsNEJBQVE7QUFBRSwwQkFBTztBQWIxQixRQUFRLENBQUMsS0FBSyxHQUFHLFNBQWUsU0FBUzs7UUFDdkMsT0FBTyxNQUFNLElBQUEsYUFBSyxHQUFFLENBQUM7SUFDdkIsQ0FBQztDQUFBLENBQUM7QUFFRixRQUFRLENBQUMsSUFBSSxHQUFHLFNBQWUsSUFBSTs7UUFDakMsTUFBTSxJQUFBLGNBQU0sR0FBRSxDQUFDO0lBQ2pCLENBQUM7Q0FBQSxDQUFDO0FBRUYsUUFBUSxDQUFDLE9BQU8sR0FBRyxTQUFlLE9BQU87O1FBQ3ZDLE1BQU0sSUFBQSxpQkFBUyxHQUFFLENBQUM7SUFDcEIsQ0FBQztDQUFBLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFFN0Msa0JBQWUsVUFBVSxDQUFDIn0=
|
|
@@ -1,31 +0,0 @@
|
|
|
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.helpers = exports.commands = void 0;
|
|
13
|
-
const taiko_1 = require("taiko");
|
|
14
|
-
const find_1 = require("./find");
|
|
15
|
-
let commands = {}, helpers = {}, extensions = {};
|
|
16
|
-
exports.commands = commands;
|
|
17
|
-
exports.helpers = helpers;
|
|
18
|
-
commands.getScreenshot = function getScreenshot() {
|
|
19
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
20
|
-
return (0, taiko_1.screenshot)({ encoding: "base64" });
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
commands.getElementScreenshot = function getElementScreenshot(elementId) {
|
|
24
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
-
const element = find_1.elementCache[elementId];
|
|
26
|
-
return (0, taiko_1.screenshot)(element, { encoding: "base64" });
|
|
27
|
-
});
|
|
28
|
-
};
|
|
29
|
-
Object.assign(extensions, commands, helpers);
|
|
30
|
-
exports.default = extensions;
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuY2FwdHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9zY3JlZW5jYXB0dXJlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLGlDQUFtQztBQUNuQyxpQ0FBc0M7QUFFdEMsSUFBSSxRQUFRLEdBQUcsRUFBRSxFQUNmLE9BQU8sR0FBRyxFQUFFLEVBQ1osVUFBVSxHQUFHLEVBQUUsQ0FBQztBQVlULDRCQUFRO0FBQUUsMEJBQU87QUFWMUIsUUFBUSxDQUFDLGFBQWEsR0FBRyxTQUFlLGFBQWE7O1FBQ25ELE9BQU8sSUFBQSxrQkFBVSxFQUFDLEVBQUMsUUFBUSxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQztDQUFBLENBQUM7QUFFRixRQUFRLENBQUMsb0JBQW9CLEdBQUcsU0FBZSxvQkFBb0IsQ0FBQyxTQUFTOztRQUMzRSxNQUFNLE9BQU8sR0FBRyxtQkFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sSUFBQSxrQkFBVSxFQUFDLE9BQU8sRUFBRSxFQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7Q0FBQSxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBRTdDLGtCQUFlLFVBQVUsQ0FBQyJ9
|
|
@@ -1,34 +0,0 @@
|
|
|
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.helpers = exports.commands = void 0;
|
|
13
|
-
const taiko_1 = require("taiko");
|
|
14
|
-
let commands = {}, helpers = {}, extensions = {};
|
|
15
|
-
exports.commands = commands;
|
|
16
|
-
exports.helpers = helpers;
|
|
17
|
-
commands.setUrl = function setUrl(url) {
|
|
18
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
19
|
-
yield (0, taiko_1.goto)(url, { waitForNavigation: false });
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
commands.getUrl = function getUrl() {
|
|
23
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
return yield (0, taiko_1.currentURL)();
|
|
25
|
-
});
|
|
26
|
-
};
|
|
27
|
-
commands.refresh = function refresh() {
|
|
28
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
-
return yield (0, taiko_1.reload)();
|
|
30
|
-
});
|
|
31
|
-
};
|
|
32
|
-
Object.assign(extensions, commands, helpers);
|
|
33
|
-
exports.default = extensions;
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3VybC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxpQ0FBaUQ7QUFFakQsSUFBSSxRQUFRLEdBQUcsRUFBRSxFQUNmLE9BQU8sR0FBRyxFQUFFLEVBQ1osVUFBVSxHQUFHLEVBQUUsQ0FBQztBQWVULDRCQUFRO0FBQUUsMEJBQU87QUFiMUIsUUFBUSxDQUFDLE1BQU0sR0FBRyxTQUFlLE1BQU0sQ0FBQyxHQUFHOztRQUN6QyxNQUFNLElBQUEsWUFBSSxFQUFDLEdBQUcsRUFBRSxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQztDQUFBLENBQUM7QUFFRixRQUFRLENBQUMsTUFBTSxHQUFHLFNBQWUsTUFBTTs7UUFDckMsT0FBTyxNQUFNLElBQUEsa0JBQVUsR0FBRSxDQUFDO0lBQzVCLENBQUM7Q0FBQSxDQUFDO0FBRUYsUUFBUSxDQUFDLE9BQU8sR0FBRyxTQUFlLE9BQU87O1FBQ3ZDLE9BQU8sTUFBTSxJQUFBLGNBQU0sR0FBRSxDQUFDO0lBQ3hCLENBQUM7Q0FBQSxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBRTdDLGtCQUFlLFVBQVUsQ0FBQyJ9
|