appium-remote-debugger 15.2.6 → 15.2.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.
Files changed (46) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/build/lib/types.d.ts +1 -1
  3. package/build/lib/types.d.ts.map +1 -1
  4. package/build/test/functional/http-server.d.ts +3 -0
  5. package/build/test/functional/http-server.d.ts.map +1 -0
  6. package/build/test/functional/http-server.js +33 -0
  7. package/build/test/functional/http-server.js.map +1 -0
  8. package/build/test/functional/safari-e2e-specs.d.ts +2 -0
  9. package/build/test/functional/safari-e2e-specs.d.ts.map +1 -0
  10. package/build/test/functional/safari-e2e-specs.js +253 -0
  11. package/build/test/functional/safari-e2e-specs.js.map +1 -0
  12. package/build/test/helpers/helpers.d.ts +2 -0
  13. package/build/test/helpers/helpers.d.ts.map +1 -0
  14. package/build/test/helpers/helpers.js +5 -0
  15. package/build/test/helpers/helpers.js.map +1 -0
  16. package/build/test/unit/mixins/connect-specs.d.ts +2 -0
  17. package/build/test/unit/mixins/connect-specs.d.ts.map +1 -0
  18. package/build/test/unit/mixins/connect-specs.js +114 -0
  19. package/build/test/unit/mixins/connect-specs.js.map +1 -0
  20. package/build/test/unit/mixins/execute-specs.d.ts +2 -0
  21. package/build/test/unit/mixins/execute-specs.d.ts.map +1 -0
  22. package/build/test/unit/mixins/execute-specs.js +94 -0
  23. package/build/test/unit/mixins/execute-specs.js.map +1 -0
  24. package/build/test/unit/mixins/message-handlers-specs.d.ts +2 -0
  25. package/build/test/unit/mixins/message-handlers-specs.d.ts.map +1 -0
  26. package/build/test/unit/mixins/message-handlers-specs.js +55 -0
  27. package/build/test/unit/mixins/message-handlers-specs.js.map +1 -0
  28. package/build/test/unit/mixins/navigate-specs.d.ts +2 -0
  29. package/build/test/unit/mixins/navigate-specs.d.ts.map +1 -0
  30. package/build/test/unit/mixins/navigate-specs.js +66 -0
  31. package/build/test/unit/mixins/navigate-specs.js.map +1 -0
  32. package/build/test/unit/remote-messages-specs.d.ts +2 -0
  33. package/build/test/unit/remote-messages-specs.d.ts.map +1 -0
  34. package/build/test/unit/remote-messages-specs.js +32 -0
  35. package/build/test/unit/remote-messages-specs.js.map +1 -0
  36. package/build/test/unit/rpc/rpc-client-specs.d.ts +2 -0
  37. package/build/test/unit/rpc/rpc-client-specs.d.ts.map +1 -0
  38. package/build/test/unit/rpc/rpc-client-specs.js +43 -0
  39. package/build/test/unit/rpc/rpc-client-specs.js.map +1 -0
  40. package/build/test/unit/utils-specs.d.ts +2 -0
  41. package/build/test/unit/utils-specs.d.ts.map +1 -0
  42. package/build/test/unit/utils-specs.js +72 -0
  43. package/build/test/unit/utils-specs.js.map +1 -0
  44. package/build/tsconfig.tsbuildinfo +1 -1
  45. package/lib/types.ts +1 -1
  46. package/package.json +4 -5
package/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## [15.2.8](https://github.com/appium/appium-remote-debugger/compare/v15.2.7...v15.2.8) (2025-12-18)
2
+
3
+ ### Miscellaneous Chores
4
+
5
+ * **deps:** bump asyncbox from 3.0.0 to 4.0.1 ([#462](https://github.com/appium/appium-remote-debugger/issues/462)) ([e89edfa](https://github.com/appium/appium-remote-debugger/commit/e89edfa11462680e4cbbcc5a0065fe9f0c4832a9))
6
+
7
+ ## [15.2.7](https://github.com/appium/appium-remote-debugger/compare/v15.2.6...v15.2.7) (2025-12-13)
8
+
9
+ ### Miscellaneous Chores
10
+
11
+ * **deps:** remove source-map-support ([#460](https://github.com/appium/appium-remote-debugger/issues/460)) ([9e97f2b](https://github.com/appium/appium-remote-debugger/commit/9e97f2bafcf2950f907121d53533685b93969a1c))
12
+
1
13
  ## [15.2.6](https://github.com/appium/appium-remote-debugger/compare/v15.2.5...v15.2.6) (2025-12-11)
2
14
 
3
15
  ### Miscellaneous Chores
@@ -25,7 +25,7 @@ export interface Page {
25
25
  bundleId?: string;
26
26
  }
27
27
  export type AppDict = StringRecord<AppInfo>;
28
- export type EventListener = (error?: Error, event?: StringRecord) => any;
28
+ export type EventListener = (error?: Error, event?: StringRecord, method?: string) => any;
29
29
  export interface RemoteDebuggerOptions {
30
30
  /** id of the app being connected to */
31
31
  bundleId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEhE,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,mBAAmB,EAAE,OAAO,GAAG,MAAM,CAAC;IACtC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,IAAI;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,SAAS,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;AAE5C,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;AAE1F,MAAM,WAAW,qBAAqB;IACpC,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,qBAAqB;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,sDAAsD;IACtD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,uDAAuD;IACvD,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,4FAA4F;IAC5F,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,GAAG,CAAC,EAAE,YAAY,CAAC;CACpB;AAED,UAAU,uCAAuC;IAC/C,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,+BAA+B,GAAG,uCAAuC,GAAG,qBAAqB,CAAC;AAE9G,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AACvC,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AACxC,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,KAAK,aAAa,GAAG,MAAM,GAAG,YAAY,CAAC;AAE3C,UAAU,qBAAqB,CAAC,CAAC,SAAS,aAAa;IACrD,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACrB,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2BAA2B,CAAC,EAAE,QAAQ,CAAC;IACvC,oBAAoB,CAAC,EAAE,SAAS,CAAC;IACjC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,UAAU,sBAAsB,CAAC,CAAC,SAAS,aAAa;IACtD,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;AACpE,MAAM,MAAM,aAAa,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAG3D;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,gBAAgB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAExE,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,3 @@
1
+ export declare function startHttpServer(port?: number): Promise<number>;
2
+ export declare function stopHttpServer(): void;
3
+ //# sourceMappingURL=http-server.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,33 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=safari-e2e-specs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safari-e2e-specs.d.ts","sourceRoot":"","sources":["../../../test/functional/safari-e2e-specs.ts"],"names":[],"mappings":""}
@@ -0,0 +1,253 @@
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.0';
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
+ const networkEvents = [];
160
+ rd.startNetwork((_err, event, method) => {
161
+ if (event && method) {
162
+ networkEvents.push({ event, method });
163
+ }
164
+ });
165
+ await selectTestPage();
166
+ await rd.navToUrl(`https://github.com`);
167
+ await rd.navToUrl(`${address}/frameset.html`);
168
+ await (0, asyncbox_1.retryInterval)(50, 100, async function () {
169
+ (0, chai_1.expect)(networkEvents.length).to.be.at.least(1);
170
+ (0, chai_1.expect)(networkEvents.find(({ event }) => event?.request?.url === 'https://github.com/')).to.exist;
171
+ });
172
+ });
173
+ describe('capture', function () {
174
+ it('full viewport', async function () {
175
+ await selectTestPage();
176
+ const screenshot = await rd.captureScreenshot();
177
+ (0, chai_1.expect)(screenshot.startsWith('iVBOR')).to.be.true;
178
+ });
179
+ it('rect on a viewport', async function () {
180
+ await selectTestPage();
181
+ const screenshot = await rd.captureScreenshot({
182
+ rect: { x: 0, y: 0, width: 100, height: 100 }
183
+ });
184
+ (0, chai_1.expect)(screenshot.startsWith('iVBOR')).to.be.true;
185
+ });
186
+ it('full page', async function () {
187
+ await selectTestPage();
188
+ const screenshot = await rd.captureScreenshot({
189
+ coordinateSystem: 'Page'
190
+ });
191
+ (0, chai_1.expect)(screenshot.startsWith('iVBOR')).to.be.true;
192
+ });
193
+ it('rect on a page', async function () {
194
+ await selectTestPage();
195
+ const screenshot = await rd.captureScreenshot({
196
+ rect: { x: 0, y: 0, width: 100, height: 100 },
197
+ coordinateSystem: 'Page'
198
+ });
199
+ (0, chai_1.expect)(screenshot.startsWith('iVBOR')).to.be.true;
200
+ });
201
+ });
202
+ it(`should be able to call 'selectApp' after already connecting to app`, async function () {
203
+ // this mimics the situation of getting all contexts multiple times
204
+ await selectTestPage();
205
+ const script = 'return 1 + 1;';
206
+ const sum = await rd.executeAtom('execute_script', [script, []]);
207
+ (0, chai_1.expect)(sum).to.eql(2);
208
+ await rd.selectApp(address);
209
+ });
210
+ it('should be able to get console logs from a remote page', async function () {
211
+ await selectTestPage();
212
+ const lines = [];
213
+ rd.startConsole(function (err, line) {
214
+ lines.push(line);
215
+ });
216
+ await rd.navToUrl('https://google.com');
217
+ await rd.executeAtom('execute_script', [`console.log('hi from appium')`, []]);
218
+ // wait for the asynchronous console event to come in
219
+ await (0, asyncbox_1.retryInterval)(50, 100, async function () {
220
+ (0, chai_1.expect)(lines.length).to.be.at.least(1);
221
+ (0, chai_1.expect)(lines.filter((line) => line.text === 'hi from appium').length).to.eql(1);
222
+ });
223
+ });
224
+ it('should be able to access the shadow DOM', async function () {
225
+ function shadowScript(text) {
226
+ return `return (function (elem) {
227
+ return (function() {
228
+ // element has a shadowRoot property
229
+ if (this.shadowRoot) {
230
+ return this.shadowRoot.querySelector('${text}')
231
+ }
232
+ // fall back to querying the element directly if not
233
+ return this.querySelector('${text}')
234
+ }).call(elem);
235
+ }).apply(null, arguments)`;
236
+ }
237
+ await selectTestPage();
238
+ await rd.navToUrl(`${address}/shadow-dom.html`);
239
+ // make sure the browser supports shadow DOM before running the test
240
+ const shadowDomSupported = await rd.executeAtom('execute_script', ['return !!document.head.createShadowRoot || !!document.head.attachShadow;']);
241
+ if (!shadowDomSupported) {
242
+ return this.skip();
243
+ }
244
+ await (0, chai_1.expect)((0, asyncbox_1.retryInterval)(5, 500, async function () {
245
+ const el1 = await rd.executeAtom('find_element', ['class name', 'element', null]);
246
+ const sEl1 = await rd.executeAtom('execute_script', [shadowScript('#shadowContent'), [el1]]);
247
+ const sEl2 = await rd.executeAtom('execute_script', [shadowScript('#shadowSubContent'), [sEl1]]);
248
+ const text = await rd.executeAtom('get_text', [sEl2]);
249
+ (0, chai_1.expect)(text).to.eql('It is murky in here');
250
+ })).to.not.be.rejectedWith('Element is no longer attached to the DOM');
251
+ });
252
+ });
253
+ //# sourceMappingURL=safari-e2e-specs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safari-e2e-specs.js","sourceRoot":"","sources":["../../../test/functional/safari-e2e-specs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const MOCHA_TIMEOUT: number;
2
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../test/helpers/helpers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,QAAiC,CAAC"}
@@ -0,0 +1,5 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=connect-specs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connect-specs.d.ts","sourceRoot":"","sources":["../../../../test/unit/mixins/connect-specs.ts"],"names":[],"mappings":""}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const connect_1 = require("../../../lib/mixins/connect");
4
+ const helpers_1 = require("../../helpers/helpers");
5
+ const remote_debugger_1 = require("../../../lib/remote-debugger");
6
+ const chai_1 = require("chai");
7
+ describe('connect', function () {
8
+ this.timeout(helpers_1.MOCHA_TIMEOUT);
9
+ let rd;
10
+ this.beforeEach(function () {
11
+ rd = new remote_debugger_1.RemoteDebugger();
12
+ });
13
+ describe('getPossibleDebuggerAppKeys', function () {
14
+ it('should return the app key of the specified bundleIds', function () {
15
+ rd._appDict = {
16
+ ['42']: {
17
+ id: '42',
18
+ bundleId: 'io.appium.bundle1',
19
+ isProxy: false,
20
+ name: 'Bundle1',
21
+ isActive: true,
22
+ isAutomationEnabled: true
23
+ },
24
+ ['43']: {
25
+ id: '43',
26
+ bundleId: 'io.appium.bundle2',
27
+ isProxy: false,
28
+ name: 'Bundle2',
29
+ isActive: true,
30
+ isAutomationEnabled: true
31
+ },
32
+ ['44']: {
33
+ id: '44',
34
+ bundleId: 'io.appium.bundle3',
35
+ isProxy: false,
36
+ name: 'Bundle3',
37
+ isActive: true,
38
+ isAutomationEnabled: true
39
+ },
40
+ };
41
+ (0, chai_1.expect)(connect_1.getPossibleDebuggerAppKeys.bind(rd)(['io.appium.bundle1', 'io.appium.bundle2']))
42
+ .to.eql(['42', '43']);
43
+ });
44
+ const webviewBundleIds = [
45
+ 'com.apple.WebKit.WebContent',
46
+ 'process-com.apple.WebKit.WebContent',
47
+ 'process-SafariViewService',
48
+ 'com.apple.SafariViewService',
49
+ ];
50
+ for (const webviewBundleId of webviewBundleIds) {
51
+ it(`should return the app key of ${webviewBundleId}`, function () {
52
+ rd._appDict = {
53
+ ['42']: {
54
+ id: '42',
55
+ bundleId: webviewBundleId,
56
+ isProxy: false,
57
+ name: 'WebView',
58
+ isActive: true,
59
+ isAutomationEnabled: true
60
+ }
61
+ };
62
+ (0, chai_1.expect)(connect_1.getPossibleDebuggerAppKeys.bind(rd)([])).to.eql(['42']);
63
+ });
64
+ }
65
+ it('should return the app key for the bundleIds when proxied', function () {
66
+ rd._appDict = {
67
+ ['42']: {
68
+ id: '42',
69
+ bundleId: 'io.appium.bundle',
70
+ isProxy: false,
71
+ name: 'Bundle',
72
+ isActive: true,
73
+ isAutomationEnabled: true
74
+ },
75
+ ['43']: {
76
+ id: '43',
77
+ bundleId: 'io.appium.proxied.bundle',
78
+ isProxy: true,
79
+ hostId: '42',
80
+ name: 'ProxiedBundle',
81
+ isActive: true,
82
+ isAutomationEnabled: true
83
+ }
84
+ };
85
+ (0, chai_1.expect)(connect_1.getPossibleDebuggerAppKeys.bind(rd)(['io.appium.bundle'])).to.eql(['42', '43']);
86
+ });
87
+ it('should return an empty array when there is no appropriate app', function () {
88
+ rd._appDict = {};
89
+ (0, chai_1.expect)(connect_1.getPossibleDebuggerAppKeys.bind(rd)('io.appium.bundle')).to.eql([]);
90
+ });
91
+ it('should return the all app keys when the bundlIds array includes a wildcard', function () {
92
+ rd._appDict = {
93
+ ['42']: {
94
+ id: '42',
95
+ bundleId: 'io.appium.bundle1',
96
+ isProxy: false,
97
+ name: 'Bundle1',
98
+ isActive: true,
99
+ isAutomationEnabled: true
100
+ },
101
+ ['43']: {
102
+ id: '43',
103
+ bundleId: 'io.appium.bundle2',
104
+ isProxy: false,
105
+ name: 'Bundle2',
106
+ isActive: true,
107
+ isAutomationEnabled: true
108
+ },
109
+ };
110
+ (0, chai_1.expect)(connect_1.getPossibleDebuggerAppKeys.bind(rd)(['*'])).to.eql(['42', '43']);
111
+ });
112
+ });
113
+ });
114
+ //# sourceMappingURL=connect-specs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connect-specs.js","sourceRoot":"","sources":["../../../../test/unit/mixins/connect-specs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=execute-specs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-specs.d.ts","sourceRoot":"","sources":["../../../../test/unit/mixins/execute-specs.ts"],"names":[],"mappings":""}
@@ -0,0 +1,94 @@
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 helpers_1 = require("../../helpers/helpers");
7
+ const execute_1 = require("../../../lib/mixins/execute");
8
+ const sinon_1 = __importDefault(require("sinon"));
9
+ const chai_1 = require("chai");
10
+ describe('execute', function () {
11
+ this.timeout(helpers_1.MOCHA_TIMEOUT);
12
+ describe('executeAtom', function () {
13
+ it('should execute atom and call send event on rpc client', async function () {
14
+ const ctx = {
15
+ _appIdKey: 'appId',
16
+ _pageIdKey: 'pageId',
17
+ log: { debug: () => { } },
18
+ execute: execute_1.execute,
19
+ _rpcClient: {
20
+ isConnected: true,
21
+ send: () => ({ hello: 'world' }),
22
+ waitForPage: async () => { },
23
+ },
24
+ requireRpcClient() {
25
+ return this._rpcClient;
26
+ }
27
+ };
28
+ const res = await execute_1.executeAtom.call(ctx, 'find_element', ['css selector', '#id', { ELEMENT: 'foo' }]);
29
+ (0, chai_1.expect)(res).to.eql({ hello: 'world' });
30
+ });
31
+ });
32
+ describe('.executeAtomAsync', function () {
33
+ it('calls rpcClient.send', async function () {
34
+ const ctx = {
35
+ _appIdKey: 'appId',
36
+ _pageIdKey: 'pageId',
37
+ log: { debug: () => { } },
38
+ execute: execute_1.execute,
39
+ _rpcClient: {
40
+ isConnected: true,
41
+ send: () => ({ result: { objectId: 'fake-object-id' } }),
42
+ waitForPage: async () => { },
43
+ },
44
+ requireRpcClient() {
45
+ return this._rpcClient;
46
+ }
47
+ };
48
+ const sendSpy = sinon_1.default.spy(ctx._rpcClient, 'send');
49
+ await execute_1.executeAtomAsync.call(ctx, 'find_element', ['a', 'b', 'c'], ['frame-1'], ['frame-2']);
50
+ const callArgs = sendSpy.firstCall.args;
51
+ (0, chai_1.expect)(callArgs[0]).to.equal('Runtime.evaluate');
52
+ (0, chai_1.expect)(callArgs[1].appIdKey).to.equal('appId');
53
+ });
54
+ });
55
+ describe('.callFunction', function () {
56
+ it('call rpcClient.send', async function () {
57
+ const ctx = {
58
+ _appIdKey: 'fakeAppId',
59
+ _pageIdKey: 'fakePageId',
60
+ log: { debug: () => { } },
61
+ _garbageCollectOnExecute: true,
62
+ garbageCollect() { },
63
+ _rpcClient: {
64
+ send() {
65
+ return { result: { objectId: 'fake-object-id' } };
66
+ },
67
+ isConnected: true,
68
+ waitForPage: async () => { },
69
+ },
70
+ waitForDom() { },
71
+ _pageLoading: true,
72
+ requireRpcClient() {
73
+ return this._rpcClient;
74
+ }
75
+ };
76
+ const sendSpy = sinon_1.default.spy(ctx._rpcClient, 'send');
77
+ await execute_1.callFunction.call(ctx, 'fake-object-id', 'fake_function', ['a', 'b', 'c']);
78
+ (0, chai_1.expect)(sendSpy.firstCall.args[0]).to.equal('Runtime.callFunctionOn');
79
+ (0, chai_1.expect)(sendSpy.firstCall.args[1]).to.eql({
80
+ appIdKey: 'fakeAppId',
81
+ arguments: [
82
+ 'a',
83
+ 'b',
84
+ 'c',
85
+ ],
86
+ functionDeclaration: 'fake_function',
87
+ objectId: 'fake-object-id',
88
+ pageIdKey: 'fakePageId',
89
+ returnByValue: true,
90
+ });
91
+ });
92
+ });
93
+ });
94
+ //# sourceMappingURL=execute-specs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-specs.js","sourceRoot":"","sources":["../../../../test/unit/mixins/execute-specs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=message-handlers-specs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-handlers-specs.d.ts","sourceRoot":"","sources":["../../../../test/unit/mixins/message-handlers-specs.ts"],"names":[],"mappings":""}