appium-cdp-driver 1.0.7 → 1.0.8
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/build/scripts/brave.js +116 -0
- package/build/scripts/browserReady.js +302 -0
- package/build/scripts/duckduckgo.js +122 -0
- package/build/scripts/edge.js +221 -0
- package/build/scripts/opera.js +170 -0
- package/build/scripts/samsung.js +152 -0
- package/build/src/adb.js +163 -0
- package/build/src/cdp.js +22 -0
- package/build/src/commands/cookies.js +63 -0
- package/build/src/commands/createSession.js +2 -0
- package/build/src/commands/document.js +24 -0
- package/build/src/commands/element.js +85 -0
- package/build/src/commands/find.js +78 -0
- package/build/src/commands/index.js +16 -0
- package/build/src/commands/navigation.js +34 -0
- package/build/src/commands/screencapture.js +31 -0
- package/build/src/commands/url.js +34 -0
- package/build/src/driver.js +131 -0
- package/build/src/index.js +51 -0
- package/build/src/logger.js +6 -0
- package/package.json +1 -1
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
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
|
+
adbPort: {
|
|
38
|
+
isNumber: false,
|
|
39
|
+
presence: false,
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
createSession(jwpCaps, reqCaps, w3cCaps, otherDriverData) {
|
|
44
|
+
const _super = Object.create(null, {
|
|
45
|
+
createSession: { get: () => super.createSession }
|
|
46
|
+
});
|
|
47
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
console.log(yield (0, taiko_1.getConfig)('local'));
|
|
49
|
+
const res = yield _super.createSession.call(this, w3cCaps);
|
|
50
|
+
const browser = w3cCaps.alwaysMatch['browserName'];
|
|
51
|
+
yield (0, adb_1.getAdb)(w3cCaps.alwaysMatch['appium:adbPort']);
|
|
52
|
+
let port;
|
|
53
|
+
if (browser === 'duckduckgo') {
|
|
54
|
+
yield (0, adb_1.startApplication)(browser);
|
|
55
|
+
port = yield (0, adb_1.adbExec)(browser);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
port = yield (0, adb_1.adbExec)(browser);
|
|
59
|
+
yield (0, adb_1.startApplication)(browser);
|
|
60
|
+
}
|
|
61
|
+
logger_1.default.info('Browser opened');
|
|
62
|
+
// Wait a bit longer for Opera to initialize its CDP interface
|
|
63
|
+
yield new Promise((resolve) => setTimeout(resolve, 3000));
|
|
64
|
+
const data = yield (0, async_retry_1.default)((bail) => __awaiter(this, void 0, void 0, function* () {
|
|
65
|
+
try {
|
|
66
|
+
logger_1.default.info(`Attempting to connect to CDP at http://localhost:${port}/json/list`);
|
|
67
|
+
const res = yield (0, node_fetch_1.default)(`http://localhost:${port}/json/list`);
|
|
68
|
+
if (!res.ok) {
|
|
69
|
+
throw new Error(`HTTP ${res.status}: ${res.statusText}`);
|
|
70
|
+
}
|
|
71
|
+
const data = yield res.json();
|
|
72
|
+
logger_1.default.info(`CDP response: ${JSON.stringify(data)}`);
|
|
73
|
+
if (!Array.isArray(data) || data.length === 0) {
|
|
74
|
+
// The socket is up but the browser holds no debuggable page — common
|
|
75
|
+
// for WebView-based browsers just after launch. Retrying the fetch
|
|
76
|
+
// alone changes nothing, so nudge the browser into opening one.
|
|
77
|
+
logger_1.default.info('Debug list is empty, opening the start URL to create a page');
|
|
78
|
+
try {
|
|
79
|
+
yield (0, adb_1.openStartUrl)(browser);
|
|
80
|
+
}
|
|
81
|
+
catch (launchError) {
|
|
82
|
+
logger_1.default.info(`Could not open the start URL: ${launchError.message}`);
|
|
83
|
+
}
|
|
84
|
+
throw new Error('Debug list is empty or invalid');
|
|
85
|
+
}
|
|
86
|
+
return data;
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
logger_1.default.error(`CDP connection attempt failed: ${error.message}`);
|
|
90
|
+
throw error;
|
|
91
|
+
}
|
|
92
|
+
}), {
|
|
93
|
+
retries: 10,
|
|
94
|
+
factor: 2,
|
|
95
|
+
minTimeout: 2000,
|
|
96
|
+
maxTimeout: 10000,
|
|
97
|
+
});
|
|
98
|
+
// Prefer the page we launched, but do not require it: after a redirect, a
|
|
99
|
+
// new tab, or an onboarding page the list holds other targets, and reading
|
|
100
|
+
// webSocketDebuggerUrl off undefined fails the session with an opaque error.
|
|
101
|
+
let target = data.find((t) => t.url && t.url.includes('appium.io'));
|
|
102
|
+
if (!target) {
|
|
103
|
+
target =
|
|
104
|
+
data.find((t) => t.type === 'page' && t.webSocketDebuggerUrl) ||
|
|
105
|
+
data.find((t) => t.webSocketDebuggerUrl);
|
|
106
|
+
logger_1.default.info(`No appium.io target; falling back to ${target ? target.url || target.type : 'none'}`);
|
|
107
|
+
}
|
|
108
|
+
if (!target) {
|
|
109
|
+
throw new Error(`No CDP target with a webSocketDebuggerUrl in ${JSON.stringify(data)}`);
|
|
110
|
+
}
|
|
111
|
+
logger_1.default.info(`Target found: ${target.webSocketDebuggerUrl}`);
|
|
112
|
+
yield (0, taiko_1.openBrowser)({
|
|
113
|
+
port: port,
|
|
114
|
+
host: '127.0.0.1',
|
|
115
|
+
target: target.webSocketDebuggerUrl,
|
|
116
|
+
});
|
|
117
|
+
return res;
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
deleteSession() {
|
|
121
|
+
const _super = Object.create(null, {
|
|
122
|
+
deleteSession: { get: () => super.deleteSession }
|
|
123
|
+
});
|
|
124
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
125
|
+
yield _super.deleteSession.call(this);
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
exports.AppiumCDPDriver = AppiumCDPDriver;
|
|
130
|
+
Object.assign(AppiumCDPDriver.prototype, commands_1.default);
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJpdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RyaXZlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxREFBeUQ7QUFDekQsK0JBQXdFO0FBQ3hFLGlDQUFxRDtBQUNyRCwwREFBa0M7QUFDbEMsc0RBQTJCO0FBQzNCLDREQUErQjtBQUMvQiw4REFBZ0M7QUFDaEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0FBQ2xDLE1BQU0sZUFBZ0IsU0FBUSx3QkFBVTtJQUN0QyxZQUFZLElBQUk7UUFDZCxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDWixJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLHFCQUFxQixHQUFHO1lBQzNCLGNBQWMsRUFBRTtnQkFDZCxRQUFRLEVBQUUsSUFBSTtnQkFDZCxRQUFRLEVBQUUsSUFBSTthQUNmO1lBQ0QsV0FBVyxFQUFFO2dCQUNYLFFBQVEsRUFBRSxJQUFJO2dCQUNkLFFBQVEsRUFBRSxJQUFJO2FBQ2Y7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsUUFBUSxFQUFFLEtBQUs7YUFDaEI7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVLLGFBQWEsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlOzs7OztZQUM1RCxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBQSxpQkFBUyxFQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDdEMsTUFBTSxHQUFHLEdBQUcsTUFBTSxPQUFNLGFBQWEsWUFBQyxPQUFPLENBQUMsQ0FBQztZQUMvQyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ25ELE1BQU0sSUFBQSxZQUFNLEVBQUMsT0FBTyxDQUFDLFdBQVcsQ0FB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
|
|
@@ -0,0 +1,51 @@
|
|
|
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==
|
|
@@ -0,0 +1,6 @@
|
|
|
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==
|