appium-cdp-driver 1.0.6 → 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.
@@ -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
@@ -1,107 +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.AppiumCDPDriver = void 0;
16
- const base_driver_1 = require("@appium/base-driver");
17
- const adb_1 = require("./adb");
18
- const taiko_1 = require("taiko");
19
- const commands_1 = __importDefault(require("./commands"));
20
- const logger_1 = __importDefault(require("./logger"));
21
- const node_fetch_1 = __importDefault(require("node-fetch"));
22
- const async_retry_1 = __importDefault(require("async-retry"));
23
- process.env.LOCAL_PROTOCOL = true;
24
- class AppiumCDPDriver extends base_driver_1.BaseDriver {
25
- constructor(args) {
26
- super(args);
27
- this.locatorStrategies = ['xpath', 'id'];
28
- this.desiredCapConstraints = {
29
- automationName: {
30
- presence: true,
31
- isString: true,
32
- },
33
- browserName: {
34
- presence: true,
35
- isString: true,
36
- },
37
- };
38
- }
39
- createSession(jwpCaps, reqCaps, w3cCaps, otherDriverData) {
40
- const _super = Object.create(null, {
41
- createSession: { get: () => super.createSession }
42
- });
43
- return __awaiter(this, void 0, void 0, function* () {
44
- console.log(yield (0, taiko_1.getConfig)('local'));
45
- const res = yield _super.createSession.call(this, w3cCaps);
46
- const browser = w3cCaps.alwaysMatch['browserName'];
47
- yield (0, adb_1.getAdb)();
48
- let port;
49
- if (browser === 'duckduckgo') {
50
- yield (0, adb_1.startApplication)(browser);
51
- port = yield (0, adb_1.adbExec)(browser);
52
- }
53
- else {
54
- port = yield (0, adb_1.adbExec)(browser);
55
- yield (0, adb_1.startApplication)(browser);
56
- }
57
- logger_1.default.info('Browser opened');
58
- // Wait a bit longer for Opera to initialize its CDP interface
59
- yield new Promise((resolve) => setTimeout(resolve, 3000));
60
- const data = yield (0, async_retry_1.default)((bail) => __awaiter(this, void 0, void 0, function* () {
61
- try {
62
- logger_1.default.info(`Attempting to connect to CDP at http://localhost:${port}/json/list`);
63
- const res = yield (0, node_fetch_1.default)(`http://localhost:${port}/json/list`);
64
- if (!res.ok) {
65
- throw new Error(`HTTP ${res.status}: ${res.statusText}`);
66
- }
67
- const data = yield res.json();
68
- logger_1.default.info(`CDP response: ${JSON.stringify(data)}`);
69
- if (!Array.isArray(data) || data.length === 0) {
70
- throw new Error('Debug list is empty or invalid');
71
- }
72
- return data;
73
- }
74
- catch (error) {
75
- logger_1.default.error(`CDP connection attempt failed: ${error.message}`);
76
- throw error;
77
- }
78
- }), {
79
- retries: 10,
80
- factor: 2,
81
- minTimeout: 2000,
82
- maxTimeout: 10000,
83
- });
84
- const target = data.find((target) => {
85
- return target.url.includes('appium.io');
86
- });
87
- logger_1.default.info(`Target found: ${target.webSocketDebuggerUrl}`);
88
- yield (0, taiko_1.openBrowser)({
89
- port: port,
90
- host: '127.0.0.1',
91
- target: target.webSocketDebuggerUrl,
92
- });
93
- return res;
94
- });
95
- }
96
- deleteSession() {
97
- const _super = Object.create(null, {
98
- deleteSession: { get: () => super.deleteSession }
99
- });
100
- return __awaiter(this, void 0, void 0, function* () {
101
- yield _super.deleteSession.call(this);
102
- });
103
- }
104
- }
105
- exports.AppiumCDPDriver = AppiumCDPDriver;
106
- Object.assign(AppiumCDPDriver.prototype, commands_1.default);
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJpdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RyaXZlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxREFBeUQ7QUFDekQsK0JBQTBEO0FBQzFELGlDQUFxRDtBQUNyRCwwREFBa0M7QUFDbEMsc0RBQTJCO0FBQzNCLDREQUErQjtBQUMvQiw4REFBZ0M7QUFDaEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0FBQ2xDLE1BQU0sZUFBZ0IsU0FBUSx3QkFBVTtJQUN0QyxZQUFZLElBQUk7UUFDZCxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDWixJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLHFCQUFxQixHQUFHO1lBQzNCLGNBQWMsRUFBRTtnQkFDZCxRQUFRLEVBQUUsSUFBSTtnQkFDZCxRQUFRLEVBQUUsSUFBSTthQUNmO1lBQ0QsV0FBVyxFQUFFO2dCQUNYLFFBQVEsRUFBRSxJQUFJO2dCQUNkLFFBQVEsRUFBRSxJQUFJO2FBQ2Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVLLGFBQWEsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlOzs7OztZQUM1RCxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBQSxpQkFBUyxFQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDdEMsTUFBTSxHQUFHLEdBQUcsTUFBTSxPQUFNLGFBQWEsWUFBQyxPQUFPLENBQUMsQ0FBQztZQUMvQyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ25ELE1BQU0sSUFBQSxZQUFNLEdBQUUsQ0FBQztZQUNmLElBQUksSUFBSSxDQUFDO1lBQ1QsSUFBSSxPQUFPLEtBQUssWUFBWSxFQUFFLENBQUM7Z0JBQzdCLE1BQU0sSUFBQSxzQkFB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
@@ -1,51 +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
- const CDP = require("chrome-remote-interface");
12
- const { openBrowser, goto, closeBrowser } = require("taiko");
13
- const fetch = require("node-fetch");
14
- function example() {
15
- return __awaiter(this, void 0, void 0, function* () {
16
- let client;
17
- try {
18
- // connect to endpoint
19
- // client = await CDP({
20
- // host: "127.0.0.1",
21
- // port: 9241,
22
- // local: true,
23
- // target: "ws://localhost:9241/devtools/page/1516",
24
- // });
25
- // await openBrowser({
26
- // host: "127.0.0.1",
27
- // port: 9241,
28
- // target: "ws://localhost:9241/devtools/page/1515",
29
- // });
30
- // await goto('github.com');
31
- // await closeBrowser();
32
- // extract domains
33
- const targets = yield fetch(`http://localhost:9241/json/list`);
34
- const data = yield targets.json();
35
- const target = data.find((target) => {
36
- return target.url === "http://appium.io/";
37
- });
38
- console.log(target);
39
- }
40
- catch (err) {
41
- console.error(err);
42
- }
43
- finally {
44
- if (client) {
45
- yield client.close();
46
- }
47
- }
48
- });
49
- }
50
- example();
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBQy9DLE1BQU0sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM3RCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDcEMsU0FBZSxPQUFPOztRQUNwQixJQUFJLE1BQU0sQ0FBQztRQUNYLElBQUksQ0FBQztZQUNILHNCQUFzQjtZQUN0Qix1QkFBdUI7WUFDdkIsdUJBQXVCO1lBQ3ZCLGdCQUFnQjtZQUNoQixpQkFBaUI7WUFDakIsc0RBQXNEO1lBQ3RELE1BQU07WUFDTixzQkFBc0I7WUFDdEIsdUJBQXVCO1lBQ3ZCLGdCQUFnQjtZQUNoQixzREFBc0Q7WUFDdEQsTUFBTTtZQUNOLDRCQUE0QjtZQUM1Qix3QkFBd0I7WUFDeEIsa0JBQWtCO1lBRWxCLE1BQU0sT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7WUFDL0QsTUFBTSxJQUFJLEdBQUcsTUFBTSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUNsQyxPQUFPLE1BQU0sQ0FBQyxHQUFHLEtBQUssbUJBQW1CLENBQUM7WUFDNUMsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RCLENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQixDQUFDO2dCQUFTLENBQUM7WUFDVCxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNYLE1BQU0sTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3ZCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUFBO0FBRUQsT0FBTyxFQUFFLENBQUMifQ==
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const support_1 = require("@appium/support");
4
- const log = support_1.logger.getLogger("CDPDriver");
5
- exports.default = log;
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ2dlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZDQUF5QztBQUV6QyxNQUFNLEdBQUcsR0FBRyxnQkFBTSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUUxQyxrQkFBZSxHQUFHLENBQUMifQ==