appium-remote-debugger 15.3.2 → 15.3.4

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.
Files changed (54) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/build/lib/index.d.ts +8 -0
  3. package/build/lib/index.d.ts.map +1 -0
  4. package/build/{index.js → lib/index.js} +2 -3
  5. package/build/lib/index.js.map +1 -0
  6. package/lib/index.ts +23 -0
  7. package/package.json +6 -6
  8. package/scripts/get-web-inspector-socket.mjs +34 -0
  9. package/scripts/web_inspector_proxy.mjs +104 -0
  10. package/build/index.d.ts +0 -7
  11. package/build/index.d.ts.map +0 -1
  12. package/build/index.js.map +0 -1
  13. package/build/test/functional/http-server.d.ts +0 -3
  14. package/build/test/functional/http-server.d.ts.map +0 -1
  15. package/build/test/functional/http-server.js +0 -33
  16. package/build/test/functional/http-server.js.map +0 -1
  17. package/build/test/functional/safari-e2e-specs.d.ts +0 -2
  18. package/build/test/functional/safari-e2e-specs.d.ts.map +0 -1
  19. package/build/test/functional/safari-e2e-specs.js +0 -257
  20. package/build/test/functional/safari-e2e-specs.js.map +0 -1
  21. package/build/test/helpers/helpers.d.ts +0 -2
  22. package/build/test/helpers/helpers.d.ts.map +0 -1
  23. package/build/test/helpers/helpers.js +0 -5
  24. package/build/test/helpers/helpers.js.map +0 -1
  25. package/build/test/unit/mixins/connect-specs.d.ts +0 -2
  26. package/build/test/unit/mixins/connect-specs.d.ts.map +0 -1
  27. package/build/test/unit/mixins/connect-specs.js +0 -114
  28. package/build/test/unit/mixins/connect-specs.js.map +0 -1
  29. package/build/test/unit/mixins/execute-specs.d.ts +0 -2
  30. package/build/test/unit/mixins/execute-specs.d.ts.map +0 -1
  31. package/build/test/unit/mixins/execute-specs.js +0 -94
  32. package/build/test/unit/mixins/execute-specs.js.map +0 -1
  33. package/build/test/unit/mixins/message-handlers-specs.d.ts +0 -2
  34. package/build/test/unit/mixins/message-handlers-specs.d.ts.map +0 -1
  35. package/build/test/unit/mixins/message-handlers-specs.js +0 -55
  36. package/build/test/unit/mixins/message-handlers-specs.js.map +0 -1
  37. package/build/test/unit/mixins/navigate-specs.d.ts +0 -2
  38. package/build/test/unit/mixins/navigate-specs.d.ts.map +0 -1
  39. package/build/test/unit/mixins/navigate-specs.js +0 -66
  40. package/build/test/unit/mixins/navigate-specs.js.map +0 -1
  41. package/build/test/unit/remote-messages-specs.d.ts +0 -2
  42. package/build/test/unit/remote-messages-specs.d.ts.map +0 -1
  43. package/build/test/unit/remote-messages-specs.js +0 -32
  44. package/build/test/unit/remote-messages-specs.js.map +0 -1
  45. package/build/test/unit/rpc/rpc-client-specs.d.ts +0 -2
  46. package/build/test/unit/rpc/rpc-client-specs.d.ts.map +0 -1
  47. package/build/test/unit/rpc/rpc-client-specs.js +0 -43
  48. package/build/test/unit/rpc/rpc-client-specs.js.map +0 -1
  49. package/build/test/unit/utils-specs.d.ts +0 -2
  50. package/build/test/unit/utils-specs.d.ts.map +0 -1
  51. package/build/test/unit/utils-specs.js +0 -72
  52. package/build/test/unit/utils-specs.js.map +0 -1
  53. package/build/tsconfig.tsbuildinfo +0 -1
  54. package/index.ts +0 -16
package/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## [15.3.4](https://github.com/appium/appium-remote-debugger/compare/v15.3.3...v15.3.4) (2026-02-07)
2
+
3
+ ### Bug Fixes
4
+
5
+ * Introduce proper overloads for createRemoteDebugger ([#477](https://github.com/appium/appium-remote-debugger/issues/477)) ([5b82545](https://github.com/appium/appium-remote-debugger/commit/5b82545f3342f6d700106b8bc18650ce0122735f))
6
+
7
+ ## [15.3.3](https://github.com/appium/appium-remote-debugger/compare/v15.3.2...v15.3.3) (2026-02-06)
8
+
9
+ ### Miscellaneous Chores
10
+
11
+ * Update development notes ([#476](https://github.com/appium/appium-remote-debugger/issues/476)) ([09c6661](https://github.com/appium/appium-remote-debugger/commit/09c666158b11712ef1bfbe62ca05bb1f9544c1b5))
12
+
1
13
  ## [15.3.2](https://github.com/appium/appium-remote-debugger/compare/v15.3.1...v15.3.2) (2026-02-01)
2
14
 
3
15
  ### Miscellaneous Chores
@@ -0,0 +1,8 @@
1
+ import { RemoteDebugger, REMOTE_DEBUGGER_PORT } from './remote-debugger';
2
+ import { RemoteDebuggerRealDevice } from './remote-debugger-real-device';
3
+ import type { RemoteDebuggerRealDeviceOptions, RemoteDebuggerOptions } from './types';
4
+ export declare function createRemoteDebugger(opts: RemoteDebuggerRealDeviceOptions, realDevice: true): RemoteDebuggerRealDevice;
5
+ export declare function createRemoteDebugger(opts: RemoteDebuggerOptions, realDevice: false): RemoteDebugger;
6
+ export { RemoteDebugger, RemoteDebuggerRealDevice, REMOTE_DEBUGGER_PORT };
7
+ export type { RemoteDebuggerRealDeviceOptions, RemoteDebuggerOptions };
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,+BAA+B,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEtF,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,+BAA+B,EACrC,UAAU,EAAE,IAAI,GACf,wBAAwB,CAAC;AAC5B,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,qBAAqB,EAC3B,UAAU,EAAE,KAAK,GAChB,cAAc,CAAC;AAUlB,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,CAAC;AAC1E,YAAY,EAAE,+BAA+B,EAAE,qBAAqB,EAAE,CAAC"}
@@ -2,15 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.REMOTE_DEBUGGER_PORT = exports.RemoteDebuggerRealDevice = exports.RemoteDebugger = void 0;
4
4
  exports.createRemoteDebugger = createRemoteDebugger;
5
- const remote_debugger_1 = require("./lib/remote-debugger");
5
+ const remote_debugger_1 = require("./remote-debugger");
6
6
  Object.defineProperty(exports, "RemoteDebugger", { enumerable: true, get: function () { return remote_debugger_1.RemoteDebugger; } });
7
7
  Object.defineProperty(exports, "REMOTE_DEBUGGER_PORT", { enumerable: true, get: function () { return remote_debugger_1.REMOTE_DEBUGGER_PORT; } });
8
- const remote_debugger_real_device_1 = require("./lib/remote-debugger-real-device");
8
+ const remote_debugger_real_device_1 = require("./remote-debugger-real-device");
9
9
  Object.defineProperty(exports, "RemoteDebuggerRealDevice", { enumerable: true, get: function () { return remote_debugger_real_device_1.RemoteDebuggerRealDevice; } });
10
10
  function createRemoteDebugger(opts, realDevice) {
11
11
  return realDevice
12
12
  ? new remote_debugger_real_device_1.RemoteDebuggerRealDevice(opts)
13
- // @ts-ignore TS does not understand that
14
13
  : new remote_debugger_1.RemoteDebugger(opts);
15
14
  }
16
15
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;AAYA,oDAOC;AAnBD,uDAAyE;AAqBhE,+FArBA,gCAAc,OAqBA;AAA4B,qGArB1B,sCAAoB,OAqB0B;AApBvE,+EAAyE;AAoBhD,yGApBhB,sDAAwB,OAoBgB;AATjD,SAAgB,oBAAoB,CAClC,IAA6D,EAC7D,UAAmB;IAEnB,OAAO,UAAU;QACf,CAAC,CAAC,IAAI,sDAAwB,CAAC,IAAuC,CAAC;QACvE,CAAC,CAAC,IAAI,gCAAc,CAAC,IAA6B,CAAC,CAAC;AACxD,CAAC"}
package/lib/index.ts ADDED
@@ -0,0 +1,23 @@
1
+ import { RemoteDebugger, REMOTE_DEBUGGER_PORT } from './remote-debugger';
2
+ import { RemoteDebuggerRealDevice } from './remote-debugger-real-device';
3
+ import type { RemoteDebuggerRealDeviceOptions, RemoteDebuggerOptions } from './types';
4
+
5
+ export function createRemoteDebugger (
6
+ opts: RemoteDebuggerRealDeviceOptions,
7
+ realDevice: true
8
+ ): RemoteDebuggerRealDevice;
9
+ export function createRemoteDebugger (
10
+ opts: RemoteDebuggerOptions,
11
+ realDevice: false
12
+ ): RemoteDebugger;
13
+ export function createRemoteDebugger (
14
+ opts: RemoteDebuggerRealDeviceOptions | RemoteDebuggerOptions,
15
+ realDevice: boolean
16
+ ): RemoteDebuggerRealDevice | RemoteDebugger {
17
+ return realDevice
18
+ ? new RemoteDebuggerRealDevice(opts as RemoteDebuggerRealDeviceOptions)
19
+ : new RemoteDebugger(opts as RemoteDebuggerOptions);
20
+ }
21
+
22
+ export { RemoteDebugger, RemoteDebuggerRealDevice, REMOTE_DEBUGGER_PORT };
23
+ export type { RemoteDebuggerRealDeviceOptions, RemoteDebuggerOptions };
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "keywords": [
5
5
  "appium"
6
6
  ],
7
- "version": "15.3.2",
7
+ "version": "15.3.4",
8
8
  "author": "Appium Contributors",
9
9
  "license": "Apache-2.0",
10
10
  "repository": {
@@ -18,16 +18,15 @@
18
18
  "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
19
19
  "npm": ">=10"
20
20
  },
21
- "types": "./build/index.d.ts",
22
- "main": "./build/index.js",
21
+ "types": "./build/lib/index.d.ts",
22
+ "main": "./build/lib/index.js",
23
23
  "bin": {},
24
24
  "directories": {
25
25
  "lib": "lib"
26
26
  },
27
27
  "files": [
28
- "index.ts",
29
28
  "lib",
30
- "build",
29
+ "build/lib",
31
30
  "scripts",
32
31
  "atoms",
33
32
  "CHANGELOG.md"
@@ -53,7 +52,8 @@
53
52
  "prepare": "npm run build",
54
53
  "test": "mocha --exit --timeout 1m \"./test/unit/**/*-specs.ts\"",
55
54
  "e2e-test": "mocha --exit --timeout 1m \"./test/functional/**/*-specs.ts\"",
56
- "inspect-safari": "node bin/web_inspector_proxy.mjs",
55
+ "inspect-safari": "node scripts/web_inspector_proxy.mjs",
56
+ "get-web-inspector-socket": "node scripts/get-web-inspector-socket.mjs",
57
57
  "build:atoms": "npm run build:selenium && npm run build:atoms:import",
58
58
  "build:atoms:import": "node scripts/build-atoms.mjs",
59
59
  "build:selenium": "node scripts/build-selenium.mjs"
@@ -0,0 +1,34 @@
1
+ /* eslint-disable no-console */
2
+ import { getSimulator } from 'appium-ios-simulator';
3
+
4
+ async function main () {
5
+ const udid = process.argv[2];
6
+ if (!udid) {
7
+ console.error('Usage: get-web-inspector-socket.mjs <simulator-udid>');
8
+ console.error('Example: npm run get-web-inspector-socket -- 8442C4CD-77B5-4764-A1F9-AABC7AD26209');
9
+ process.exitCode = 1;
10
+ return;
11
+ }
12
+
13
+ const sim = await getSimulator(udid);
14
+ let socket;
15
+ let error;
16
+ try {
17
+ socket = await sim.getWebInspectorSocket();
18
+ } catch (err) {
19
+ error = err;
20
+ }
21
+ if (!socket || error) {
22
+ const message = 'No Web Inspector socket path for this simulator. Is it booted?';
23
+ if (error) {
24
+ console.error(message, error);
25
+ } else {
26
+ console.error(message);
27
+ }
28
+ process.exitCode = 1;
29
+ return;
30
+ }
31
+ console.log(socket);
32
+ }
33
+
34
+ (async () => await main())();
@@ -0,0 +1,104 @@
1
+ /* eslint-disable no-console */
2
+ import { SubProcess } from 'teen_process';
3
+ import { plist, util } from '@appium/support';
4
+ import B from 'bluebird';
5
+ import { getSimulator } from 'appium-ios-simulator';
6
+ import _ from 'lodash';
7
+
8
+
9
+ async function getSocket (udid) {
10
+ const sim = await getSimulator(udid);
11
+ return await sim.getWebInspectorSocket();
12
+ }
13
+
14
+ function printRecord (lines) {
15
+ const header = lines.shift();
16
+ console.log(header);
17
+
18
+ const START = '62 70 6c 69 73 74';
19
+
20
+ lines = lines.join(' ');
21
+ while (lines.length) {
22
+ let end = lines.indexOf(START, 29);
23
+ if (end === -1) {
24
+ end = lines.length;
25
+ } else {
26
+ end = end - 12;
27
+ }
28
+ const str = lines.slice(0, end);
29
+ lines = lines.slice(end);
30
+ let arr = str
31
+ .trim()
32
+ .replace(/(\r\n|\n|\r)/gm, ' ')
33
+ .split(' ')
34
+ .map((str) => str.trim())
35
+ .filter((str) => str !== '');
36
+
37
+ arr = arr.slice(4);
38
+ const data = arr
39
+ .map((str) => parseInt(str, 16));
40
+ if (data.length === 0) {
41
+ console.log('no data');
42
+ return;
43
+ }
44
+ const buf = Buffer.from(data);
45
+ try {
46
+ const doc = plist.parsePlist(buf);
47
+ console.log(util.jsonStringify(doc));
48
+ } catch (err) {
49
+ if (err.message.includes('maxObjectCount exceeded')) {
50
+ return str;
51
+ }
52
+ console.log('ERROR:', err.message);
53
+ }
54
+ }
55
+ return '';
56
+ }
57
+
58
+ async function startSoCat (socket) {
59
+ const cmd = 'socat';
60
+ const args = [
61
+ '-t100',
62
+ '-x', `UNIX-LISTEN:${socket},mode=777,reuseaddr,fork`, `UNIX-CONNECT:${socket}.original`];
63
+ const proc = new SubProcess(cmd, args);
64
+
65
+ let buffer = [];
66
+ proc.on('lines-stderr', (lines) => {
67
+ for (let i = 0; i < lines.length; i++) {
68
+ const line = lines[i];
69
+ if (line.startsWith('>') || line.startsWith('<')) {
70
+ if (buffer.length) {
71
+ const remainder = printRecord(buffer);
72
+
73
+ // save the header, and go forward
74
+ buffer = [line];
75
+ if (remainder) {
76
+ buffer.push(remainder);
77
+ }
78
+ continue;
79
+ }
80
+ }
81
+ // add the line to the buffer
82
+ buffer.push(line);
83
+ }
84
+ });
85
+
86
+ const prom = new B(function (resolve) {
87
+ proc.on('exit', function () {
88
+ resolve('done');
89
+ });
90
+ });
91
+
92
+ await proc.start();
93
+
94
+ return prom;
95
+ }
96
+
97
+ async function main () {
98
+ const udid = _.last(process.argv);
99
+ const s = await getSocket(udid);
100
+ console.log('Simulator web inspector socket:', s);
101
+ await startSoCat(s);
102
+ }
103
+
104
+ (async () => await main())();
package/build/index.d.ts DELETED
@@ -1,7 +0,0 @@
1
- import { RemoteDebugger, REMOTE_DEBUGGER_PORT } from './lib/remote-debugger';
2
- import { RemoteDebuggerRealDevice } from './lib/remote-debugger-real-device';
3
- import type { RemoteDebuggerRealDeviceOptions, RemoteDebuggerOptions } from './lib/types';
4
- export declare function createRemoteDebugger<T extends boolean>(opts: T extends true ? RemoteDebuggerRealDeviceOptions : RemoteDebuggerOptions, realDevice: T): T extends true ? RemoteDebuggerRealDevice : RemoteDebugger;
5
- export { RemoteDebugger, RemoteDebuggerRealDevice, REMOTE_DEBUGGER_PORT };
6
- export type { RemoteDebuggerRealDeviceOptions, RemoteDebuggerOptions };
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,+BAA+B,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAE1F,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,OAAO,EACpD,IAAI,EAAE,CAAC,SAAS,IAAI,GAAG,+BAA+B,GAAG,qBAAqB,EAC9E,UAAU,EAAE,CAAC,GACZ,CAAC,SAAS,IAAI,GAAG,wBAAwB,GAAG,cAAc,CAK5D;AAED,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,CAAC;AAC1E,YAAY,EAAE,+BAA+B,EAAE,qBAAqB,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAIA,oDAQC;AAZD,2DAA6E;AAcpE,+FAdA,gCAAc,OAcA;AAA4B,qGAd1B,sCAAoB,OAc0B;AAbvE,mFAA6E;AAapD,yGAbhB,sDAAwB,OAagB;AAVjD,SAAgB,oBAAoB,CAClC,IAA8E,EAC9E,UAAa;IAEb,OAAO,UAAU;QACf,CAAC,CAAC,IAAI,sDAAwB,CAAC,IAAuC,CAAC;QACvE,yCAAyC;QACzC,CAAC,CAAC,IAAI,gCAAc,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC"}
@@ -1,3 +0,0 @@
1
- export declare function startHttpServer(port?: number): Promise<number>;
2
- export declare function stopHttpServer(): void;
3
- //# sourceMappingURL=http-server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../../../test/functional/http-server.ts"],"names":[],"mappings":"AAeA,wBAAsB,eAAe,CAAE,IAAI,GAAE,MAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAW3E;AAED,wBAAgB,cAAc,IAAK,IAAI,CAItC"}
@@ -1,33 +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
- exports.startHttpServer = startHttpServer;
7
- exports.stopHttpServer = stopHttpServer;
8
- const node_http_1 = __importDefault(require("node:http"));
9
- const bluebird_1 = __importDefault(require("bluebird"));
10
- const support_1 = require("@appium/support");
11
- const finalhandler_1 = __importDefault(require("finalhandler"));
12
- const serve_static_1 = __importDefault(require("serve-static"));
13
- const node_path_1 = __importDefault(require("node:path"));
14
- const serve = (0, serve_static_1.default)(node_path_1.default.resolve('test', 'functional', 'html'));
15
- const log = support_1.logger.getLogger('TestHttpServer');
16
- const PORT = 1234;
17
- let server;
18
- async function startHttpServer(port = PORT) {
19
- // start a simple http server to serve pages (so no interwebs needed)
20
- server = node_http_1.default.createServer(function requestHandler(req, res) {
21
- log.debug(`${req.method} ${req.url}`);
22
- serve(req, res, (0, finalhandler_1.default)(req, res));
23
- });
24
- await bluebird_1.default.promisify(server.listen, { context: server })(PORT);
25
- log.debug(`HTTP server listening on port '${port}'`);
26
- return port;
27
- }
28
- function stopHttpServer() {
29
- if (server) {
30
- server.close();
31
- }
32
- }
33
- //# sourceMappingURL=http-server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http-server.js","sourceRoot":"","sources":["../../../test/functional/http-server.ts"],"names":[],"mappings":";;;;;AAeA,0CAWC;AAED,wCAIC;AAhCD,0DAA6B;AAC7B,wDAAyB;AACzB,6CAAyC;AACzC,gEAAwC;AACxC,gEAAuC;AACvC,0DAA6B;AAE7B,MAAM,KAAK,GAAG,IAAA,sBAAW,EAAC,mBAAI,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;AAEtE,MAAM,GAAG,GAAG,gBAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;AAE/C,MAAM,IAAI,GAAG,IAAI,CAAC;AAElB,IAAI,MAA+B,CAAC;AAE7B,KAAK,UAAU,eAAe,CAAE,OAAe,IAAI;IACxD,qEAAqE;IACrE,MAAM,GAAG,mBAAI,CAAC,YAAY,CAAC,SAAS,cAAc,CAAE,GAAG,EAAE,GAAG;QAC1D,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QACtC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAA,sBAAY,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,MAAO,kBAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,EAAC,OAAO,EAAE,MAAM,EAAC,CAAS,CAAC,IAAI,CAAC,CAAC;IACnE,GAAG,CAAC,KAAK,CAAC,kCAAkC,IAAI,GAAG,CAAC,CAAC;IAErD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,cAAc;IAC5B,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;AACH,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=safari-e2e-specs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"safari-e2e-specs.d.ts","sourceRoot":"","sources":["../../../test/functional/safari-e2e-specs.ts"],"names":[],"mappings":""}
@@ -1,257 +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 node_simctl_1 = require("node-simctl");
7
- const appium_ios_simulator_1 = require("appium-ios-simulator");
8
- const asyncbox_1 = require("asyncbox");
9
- const support_1 = require("@appium/support");
10
- const lodash_1 = __importDefault(require("lodash"));
11
- const index_1 = require("../../index");
12
- const http_server_1 = require("./http-server");
13
- const chai_1 = require("chai");
14
- const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
15
- (0, chai_1.use)(chai_as_promised_1.default);
16
- const SIM_NAME = process.env.SIM_DEVICE_NAME || `appium-test-${support_1.util.uuidV4()}`;
17
- const DEVICE_NAME = process.env.DEVICE_NAME || 'iPhone 17';
18
- const PLATFORM_VERSION = process.env.PLATFORM_VERSION || '26.2';
19
- const PAGE_TITLE = 'Remote debugger test page';
20
- async function getExistingSim(deviceName, platformVersion) {
21
- const devices = await new node_simctl_1.Simctl().getDevices(platformVersion);
22
- for (const device of lodash_1.default.values(devices)) {
23
- if (device.name === deviceName) {
24
- return await (0, appium_ios_simulator_1.getSimulator)(device.udid);
25
- }
26
- }
27
- return null;
28
- }
29
- async function deleteDeviceWithRetry(udid) {
30
- const simctl = new node_simctl_1.Simctl({ udid });
31
- try {
32
- await (0, asyncbox_1.retryInterval)(10, 1000, simctl.deleteDevice.bind(simctl));
33
- }
34
- catch { }
35
- }
36
- describe('Safari remote debugger', function () {
37
- this.timeout(610000);
38
- this.retries(2);
39
- let sim;
40
- let simCreated = false;
41
- let address;
42
- before(async function () {
43
- const portPromise = (0, http_server_1.startHttpServer)();
44
- sim = await getExistingSim(DEVICE_NAME, PLATFORM_VERSION);
45
- if (!sim) {
46
- const udid = await new node_simctl_1.Simctl().createDevice(SIM_NAME, DEVICE_NAME, PLATFORM_VERSION);
47
- sim = await (0, appium_ios_simulator_1.getSimulator)(udid);
48
- simCreated = true;
49
- }
50
- await sim.run({
51
- startupTimeout: process.env.CI ? 600000 : 120000,
52
- });
53
- address = `http://127.0.0.1:${await portPromise}`;
54
- });
55
- after(async function () {
56
- await sim.shutdown();
57
- if (simCreated) {
58
- await deleteDeviceWithRetry(sim.udid);
59
- }
60
- (0, http_server_1.stopHttpServer)();
61
- });
62
- let rd;
63
- beforeEach(async function () {
64
- const socketPath = await sim.getWebInspectorSocket();
65
- rd = (0, index_1.createRemoteDebugger)({
66
- bundleId: 'com.apple.mobilesafari',
67
- isSafari: true,
68
- platformVersion: PLATFORM_VERSION,
69
- socketPath: socketPath || undefined,
70
- garbageCollectOnExecute: false,
71
- logAllCommunication: true,
72
- logAllCommunicationHexDump: false,
73
- pageReadyTimeout: 30000,
74
- targetCreationTimeoutMs: process.env.CI ? 10 * 1000 * 60 : 60000,
75
- }, false);
76
- const maxRetries = process.env.CI ? 10 : 5;
77
- await (0, asyncbox_1.retry)(maxRetries, async () => await sim.openUrl(address));
78
- await (0, asyncbox_1.retry)(maxRetries, async () => {
79
- if (lodash_1.default.isEmpty(await rd.connect(60000))) {
80
- await rd.disconnect();
81
- throw new Error('The remote debugger did not return any connected applications');
82
- }
83
- });
84
- });
85
- afterEach(async function () {
86
- await rd?.disconnect();
87
- rd = null;
88
- });
89
- async function selectTestPage() {
90
- const page = lodash_1.default.find(await rd.selectApp(address), (page) => page.title === PAGE_TITLE);
91
- if (!page) {
92
- throw new Error('Test page not found');
93
- }
94
- const pageIdStr = String(page.id);
95
- const [appIdKey, pageIdKey] = pageIdStr.split('.').map((id) => parseInt(id, 10));
96
- await rd.selectPage(appIdKey, pageIdKey);
97
- }
98
- it('should be able to connect and get app', async function () {
99
- const pageArray = await rd.selectApp(address);
100
- (0, chai_1.expect)(lodash_1.default.filter(pageArray, (page) => page.title === PAGE_TITLE))
101
- .to.have.length.at.least(1);
102
- });
103
- it('should be able to execute an atom', async function () {
104
- await selectTestPage();
105
- const script = 'return 1 + 1;';
106
- const sum = await rd.executeAtom('execute_script', [script, []]);
107
- (0, chai_1.expect)(sum).to.eql(2);
108
- });
109
- it('should be able to find an element', async function () {
110
- await selectTestPage();
111
- const el = await rd.executeAtom('find_element_fragment', ['css selector', '#somediv']);
112
- const text = await rd.executeAtom('get_text', [el]);
113
- (0, chai_1.expect)(text).to.eql('This is in #somediv');
114
- });
115
- it('should be able to send text to an element and get attribute values', async function () {
116
- await selectTestPage();
117
- (0, chai_1.expect)(await rd.isJavascriptExecutionBlocked()).to.equal(false);
118
- const el = await rd.executeAtom('find_element_fragment', ['css selector', '#input']);
119
- let text = await rd.executeAtom('get_text', [el]);
120
- (0, chai_1.expect)(text).to.eql('');
121
- await rd.executeAtom('type', [el, 'hello world']);
122
- text = await rd.executeAtom('get_attribute_value', [el, 'value']);
123
- (0, chai_1.expect)(text).to.eql('hello world');
124
- // clean up page
125
- await rd.executeAtom('execute_script', ['window.location.reload()']);
126
- });
127
- describe('executeAtomAsync', function () {
128
- const timeout = 1000;
129
- it('should be able to execute an atom asynchronously', async function () {
130
- await selectTestPage();
131
- const script = 'arguments[arguments.length - 1](123);';
132
- await (0, chai_1.expect)(rd.executeAtomAsync('execute_async_script', [script, [], timeout]))
133
- .to.eventually.eql(123);
134
- });
135
- it('should bubble up JS errors', async function () {
136
- await selectTestPage();
137
- const script = `arguments[arguments.length - 1](1--);`;
138
- await (0, chai_1.expect)(rd.executeAtomAsync('execute_async_script', [script, [], timeout]))
139
- .to.eventually.be.rejectedWith(/operator applied to value that is not a reference/);
140
- });
141
- it('should timeout when callback is not invoked', async function () {
142
- await selectTestPage();
143
- const script = 'return 1 + 2';
144
- await (0, chai_1.expect)(rd.executeAtomAsync('execute_async_script', [script, [], timeout]))
145
- .to.eventually.be.rejectedWith(/Timed out waiting for/);
146
- });
147
- it('should be able to execute asynchronously in frame', async function () {
148
- await selectTestPage();
149
- // go to the frameset page
150
- await rd.navToUrl(`${address}/frameset.html`);
151
- // get the correct frame
152
- const { WINDOW: frame } = await rd.executeAtom('frame_by_id_or_name', ['first']);
153
- const script = `arguments[arguments.length - 1](document.getElementsByTagName('h1')[0].innerHTML);`;
154
- const res = await rd.executeAtomAsync('execute_async_script', [script, [], timeout], [frame]);
155
- (0, chai_1.expect)(res).to.eql('Sub frame 1');
156
- });
157
- });
158
- it('should be able to monitor network events', async function () {
159
- if (process.env.CI) {
160
- // TODO: this test is flaky on CI due to its slowness
161
- return this.skip();
162
- }
163
- const networkEvents = [];
164
- rd.startNetwork((_err, event, method) => {
165
- if (event && method) {
166
- networkEvents.push({ event, method });
167
- }
168
- });
169
- await selectTestPage();
170
- await rd.navToUrl(`https://github.com`);
171
- await rd.navToUrl(`${address}/frameset.html`);
172
- await (0, asyncbox_1.retryInterval)(50, 100, async function () {
173
- (0, chai_1.expect)(networkEvents.length).to.be.at.least(1);
174
- (0, chai_1.expect)(networkEvents.find(({ event }) => event?.request?.url === 'https://github.com/')).to.exist;
175
- });
176
- });
177
- describe('capture', function () {
178
- it('full viewport', async function () {
179
- await selectTestPage();
180
- const screenshot = await rd.captureScreenshot();
181
- (0, chai_1.expect)(screenshot.startsWith('iVBOR')).to.be.true;
182
- });
183
- it('rect on a viewport', async function () {
184
- await selectTestPage();
185
- const screenshot = await rd.captureScreenshot({
186
- rect: { x: 0, y: 0, width: 100, height: 100 }
187
- });
188
- (0, chai_1.expect)(screenshot.startsWith('iVBOR')).to.be.true;
189
- });
190
- it('full page', async function () {
191
- await selectTestPage();
192
- const screenshot = await rd.captureScreenshot({
193
- coordinateSystem: 'Page'
194
- });
195
- (0, chai_1.expect)(screenshot.startsWith('iVBOR')).to.be.true;
196
- });
197
- it('rect on a page', async function () {
198
- await selectTestPage();
199
- const screenshot = await rd.captureScreenshot({
200
- rect: { x: 0, y: 0, width: 100, height: 100 },
201
- coordinateSystem: 'Page'
202
- });
203
- (0, chai_1.expect)(screenshot.startsWith('iVBOR')).to.be.true;
204
- });
205
- });
206
- it(`should be able to call 'selectApp' after already connecting to app`, async function () {
207
- // this mimics the situation of getting all contexts multiple times
208
- await selectTestPage();
209
- const script = 'return 1 + 1;';
210
- const sum = await rd.executeAtom('execute_script', [script, []]);
211
- (0, chai_1.expect)(sum).to.eql(2);
212
- await rd.selectApp(address);
213
- });
214
- it('should be able to get console logs from a remote page', async function () {
215
- await selectTestPage();
216
- const lines = [];
217
- rd.startConsole(function (err, line) {
218
- lines.push(line);
219
- });
220
- await rd.navToUrl('https://google.com');
221
- await rd.executeAtom('execute_script', [`console.log('hi from appium')`, []]);
222
- // wait for the asynchronous console event to come in
223
- await (0, asyncbox_1.retryInterval)(50, 100, async function () {
224
- (0, chai_1.expect)(lines.length).to.be.at.least(1);
225
- (0, chai_1.expect)(lines.filter((line) => line.text === 'hi from appium').length).to.eql(1);
226
- });
227
- });
228
- it('should be able to access the shadow DOM', async function () {
229
- function shadowScript(text) {
230
- return `return (function (elem) {
231
- return (function() {
232
- // element has a shadowRoot property
233
- if (this.shadowRoot) {
234
- return this.shadowRoot.querySelector('${text}')
235
- }
236
- // fall back to querying the element directly if not
237
- return this.querySelector('${text}')
238
- }).call(elem);
239
- }).apply(null, arguments)`;
240
- }
241
- await selectTestPage();
242
- await rd.navToUrl(`${address}/shadow-dom.html`);
243
- // make sure the browser supports shadow DOM before running the test
244
- const shadowDomSupported = await rd.executeAtom('execute_script', ['return !!document.head.createShadowRoot || !!document.head.attachShadow;']);
245
- if (!shadowDomSupported) {
246
- return this.skip();
247
- }
248
- await (0, chai_1.expect)((0, asyncbox_1.retryInterval)(5, 500, async function () {
249
- const el1 = await rd.executeAtom('find_element', ['class name', 'element', null]);
250
- const sEl1 = await rd.executeAtom('execute_script', [shadowScript('#shadowContent'), [el1]]);
251
- const sEl2 = await rd.executeAtom('execute_script', [shadowScript('#shadowSubContent'), [sEl1]]);
252
- const text = await rd.executeAtom('get_text', [sEl2]);
253
- (0, chai_1.expect)(text).to.eql('It is murky in here');
254
- })).to.not.be.rejectedWith('Element is no longer attached to the DOM');
255
- });
256
- });
257
- //# sourceMappingURL=safari-e2e-specs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"safari-e2e-specs.js","sourceRoot":"","sources":["../../../test/functional/safari-e2e-specs.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare const MOCHA_TIMEOUT: number;
2
- //# sourceMappingURL=helpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../test/helpers/helpers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,QAAiC,CAAC"}
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MOCHA_TIMEOUT = void 0;
4
- exports.MOCHA_TIMEOUT = process.env.CI ? 60000 : 30000;
5
- //# sourceMappingURL=helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../test/helpers/helpers.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=connect-specs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connect-specs.d.ts","sourceRoot":"","sources":["../../../../test/unit/mixins/connect-specs.ts"],"names":[],"mappings":""}