appium-remote-debugger 15.2.9 → 15.2.11
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/CHANGELOG.md +12 -0
- package/build/lib/mixins/connect.d.ts +47 -31
- package/build/lib/mixins/connect.d.ts.map +1 -1
- package/build/lib/mixins/connect.js +105 -86
- package/build/lib/mixins/connect.js.map +1 -1
- package/build/lib/mixins/cookies.d.ts +17 -13
- package/build/lib/mixins/cookies.d.ts.map +1 -1
- package/build/lib/mixins/cookies.js +12 -12
- package/build/lib/mixins/cookies.js.map +1 -1
- package/build/lib/mixins/events.d.ts +32 -31
- package/build/lib/mixins/events.d.ts.map +1 -1
- package/build/lib/mixins/events.js +21 -24
- package/build/lib/mixins/events.js.map +1 -1
- package/build/lib/mixins/execute.d.ts +35 -24
- package/build/lib/mixins/execute.d.ts.map +1 -1
- package/build/lib/mixins/execute.js +34 -26
- package/build/lib/mixins/execute.js.map +1 -1
- package/build/lib/mixins/message-handlers.d.ts +63 -43
- package/build/lib/mixins/message-handlers.d.ts.map +1 -1
- package/build/lib/mixins/message-handlers.js +74 -57
- package/build/lib/mixins/message-handlers.js.map +1 -1
- package/build/lib/mixins/misc.d.ts +34 -24
- package/build/lib/mixins/misc.d.ts.map +1 -1
- package/build/lib/mixins/misc.js +27 -21
- package/build/lib/mixins/misc.js.map +1 -1
- package/build/lib/mixins/navigate.d.ts +39 -27
- package/build/lib/mixins/navigate.d.ts.map +1 -1
- package/build/lib/mixins/navigate.js +31 -31
- package/build/lib/mixins/navigate.js.map +1 -1
- package/build/lib/mixins/screenshot.d.ts +21 -11
- package/build/lib/mixins/screenshot.d.ts.map +1 -1
- package/build/lib/mixins/screenshot.js +10 -14
- package/build/lib/mixins/screenshot.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/lib/mixins/{connect.js → connect.ts} +153 -113
- package/lib/mixins/cookies.ts +61 -0
- package/lib/mixins/events.ts +91 -0
- package/lib/mixins/{execute.js → execute.ts} +59 -33
- package/lib/mixins/message-handlers.ts +272 -0
- package/lib/mixins/misc.ts +136 -0
- package/lib/mixins/{navigate.js → navigate.ts} +44 -41
- package/lib/mixins/screenshot.ts +52 -0
- package/package.json +1 -1
- package/lib/mixins/cookies.js +0 -53
- package/lib/mixins/events.js +0 -81
- package/lib/mixins/message-handlers.js +0 -224
- package/lib/mixins/misc.js +0 -121
- package/lib/mixins/screenshot.js +0 -43
|
@@ -1,45 +1,46 @@
|
|
|
1
|
+
import type { RemoteDebugger } from '../remote-debugger';
|
|
2
|
+
import type { EventListener } from '../types';
|
|
3
|
+
export declare const events: {
|
|
4
|
+
readonly EVENT_PAGE_CHANGE: "remote_debugger_page_change";
|
|
5
|
+
readonly EVENT_FRAMES_DETACHED: "remote_debugger_frames_detached";
|
|
6
|
+
readonly EVENT_DISCONNECT: "remote_debugger_disconnect";
|
|
7
|
+
};
|
|
1
8
|
/**
|
|
2
|
-
*
|
|
9
|
+
* Adds a client event listener to the RPC client and tracks it for later removal.
|
|
10
|
+
* The listener will be called when the specified event is emitted by the remote debugger.
|
|
3
11
|
*
|
|
4
|
-
* @
|
|
5
|
-
* @param
|
|
6
|
-
* @param {import('../types').EventListener} listener
|
|
7
|
-
* @returns {void}
|
|
12
|
+
* @param eventName - The name of the event to listen for.
|
|
13
|
+
* @param listener - The event listener function to call when the event is emitted.
|
|
8
14
|
*/
|
|
9
|
-
export function addClientEventListener(this:
|
|
15
|
+
export declare function addClientEventListener(this: RemoteDebugger, eventName: string, listener: EventListener): void;
|
|
10
16
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
17
|
+
* Removes all client event listeners for the specified event name from the RPC client.
|
|
18
|
+
* This will stop listening for the event and clean up the tracked listeners.
|
|
19
|
+
*
|
|
20
|
+
* @param eventName - The name of the event to stop listening for.
|
|
14
21
|
*/
|
|
15
|
-
export function removeClientEventListener(this:
|
|
22
|
+
export declare function removeClientEventListener(this: RemoteDebugger, eventName: string): void;
|
|
16
23
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
24
|
+
* Starts listening for JavaScript console messages by registering listeners
|
|
25
|
+
* for Console.messageAdded and Console.messageRepeatCountUpdated events.
|
|
26
|
+
*
|
|
27
|
+
* @param listener - The event listener function to call when console messages are received.
|
|
20
28
|
*/
|
|
21
|
-
export function startConsole(this:
|
|
29
|
+
export declare function startConsole(this: RemoteDebugger, listener: EventListener): void;
|
|
22
30
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
31
|
+
* Stops listening for JavaScript console messages by removing listeners
|
|
32
|
+
* for Console.messageAdded and Console.messageRepeatCountUpdated events.
|
|
25
33
|
*/
|
|
26
|
-
export function stopConsole(this:
|
|
34
|
+
export declare function stopConsole(this: RemoteDebugger): void;
|
|
27
35
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
36
|
+
* Starts listening for network events by registering a listener for NetworkEvent.
|
|
37
|
+
* This aggregates all Network.* events into a single NetworkEvent.
|
|
38
|
+
*
|
|
39
|
+
* @param listener - The event listener function to call when network events are received.
|
|
31
40
|
*/
|
|
32
|
-
export function startNetwork(this:
|
|
41
|
+
export declare function startNetwork(this: RemoteDebugger, listener: EventListener): void;
|
|
33
42
|
/**
|
|
34
|
-
*
|
|
35
|
-
* @returns {void}
|
|
43
|
+
* Stops listening for network events by removing the listener for NetworkEvent.
|
|
36
44
|
*/
|
|
37
|
-
export function stopNetwork(this:
|
|
38
|
-
export namespace events {
|
|
39
|
-
let EVENT_PAGE_CHANGE: "remote_debugger_page_change";
|
|
40
|
-
let EVENT_FRAMES_DETACHED: "remote_debugger_frames_detached";
|
|
41
|
-
let EVENT_DISCONNECT: "remote_debugger_disconnect";
|
|
42
|
-
}
|
|
43
|
-
export default events;
|
|
44
|
-
export type RemoteDebugger = import("../remote-debugger").RemoteDebugger;
|
|
45
|
+
export declare function stopNetwork(this: RemoteDebugger): void;
|
|
45
46
|
//# sourceMappingURL=events.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../lib/mixins/events.
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../lib/mixins/events.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,eAAO,MAAM,MAAM;;;;CAIT,CAAC;AAEX;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,cAAc,EACpB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,aAAa,GACtB,IAAI,CAIN;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,cAAc,EACpB,SAAS,EAAE,MAAM,GAChB,IAAI,CAIN;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,aAAa,GACtB,IAAI,CAIN;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAItD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,aAAa,GACtB,IAAI,CAGN;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAGtD"}
|
|
@@ -9,18 +9,17 @@ exports.startNetwork = startNetwork;
|
|
|
9
9
|
exports.stopNetwork = stopNetwork;
|
|
10
10
|
const property_accessors_1 = require("./property-accessors");
|
|
11
11
|
// event emitted publically
|
|
12
|
-
exports.events =
|
|
12
|
+
exports.events = {
|
|
13
13
|
EVENT_PAGE_CHANGE: 'remote_debugger_page_change',
|
|
14
14
|
EVENT_FRAMES_DETACHED: 'remote_debugger_frames_detached',
|
|
15
15
|
EVENT_DISCONNECT: 'remote_debugger_disconnect',
|
|
16
|
-
}
|
|
16
|
+
};
|
|
17
17
|
/**
|
|
18
|
-
*
|
|
18
|
+
* Adds a client event listener to the RPC client and tracks it for later removal.
|
|
19
|
+
* The listener will be called when the specified event is emitted by the remote debugger.
|
|
19
20
|
*
|
|
20
|
-
* @
|
|
21
|
-
* @param
|
|
22
|
-
* @param {import('../types').EventListener} listener
|
|
23
|
-
* @returns {void}
|
|
21
|
+
* @param eventName - The name of the event to listen for.
|
|
22
|
+
* @param listener - The event listener function to call when the event is emitted.
|
|
24
23
|
*/
|
|
25
24
|
function addClientEventListener(eventName, listener) {
|
|
26
25
|
(0, property_accessors_1.getClientEventListeners)(this)[eventName] ??= [];
|
|
@@ -28,9 +27,10 @@ function addClientEventListener(eventName, listener) {
|
|
|
28
27
|
this.requireRpcClient().on(eventName, listener);
|
|
29
28
|
}
|
|
30
29
|
/**
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
30
|
+
* Removes all client event listeners for the specified event name from the RPC client.
|
|
31
|
+
* This will stop listening for the event and clean up the tracked listeners.
|
|
32
|
+
*
|
|
33
|
+
* @param eventName - The name of the event to stop listening for.
|
|
34
34
|
*/
|
|
35
35
|
function removeClientEventListener(eventName) {
|
|
36
36
|
for (const listener of ((0, property_accessors_1.getClientEventListeners)(this)[eventName] || [])) {
|
|
@@ -38,9 +38,10 @@ function removeClientEventListener(eventName) {
|
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
41
|
+
* Starts listening for JavaScript console messages by registering listeners
|
|
42
|
+
* for Console.messageAdded and Console.messageRepeatCountUpdated events.
|
|
43
|
+
*
|
|
44
|
+
* @param listener - The event listener function to call when console messages are received.
|
|
44
45
|
*/
|
|
45
46
|
function startConsole(listener) {
|
|
46
47
|
this.log.debug('Starting to listen for JavaScript console');
|
|
@@ -48,8 +49,8 @@ function startConsole(listener) {
|
|
|
48
49
|
this.addClientEventListener('Console.messageRepeatCountUpdated', listener);
|
|
49
50
|
}
|
|
50
51
|
/**
|
|
51
|
-
*
|
|
52
|
-
*
|
|
52
|
+
* Stops listening for JavaScript console messages by removing listeners
|
|
53
|
+
* for Console.messageAdded and Console.messageRepeatCountUpdated events.
|
|
53
54
|
*/
|
|
54
55
|
function stopConsole() {
|
|
55
56
|
this.log.debug('Stopping to listen for JavaScript console');
|
|
@@ -57,24 +58,20 @@ function stopConsole() {
|
|
|
57
58
|
this.removeClientEventListener('Console.messageRepeatCountUpdated');
|
|
58
59
|
}
|
|
59
60
|
/**
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
61
|
+
* Starts listening for network events by registering a listener for NetworkEvent.
|
|
62
|
+
* This aggregates all Network.* events into a single NetworkEvent.
|
|
63
|
+
*
|
|
64
|
+
* @param listener - The event listener function to call when network events are received.
|
|
63
65
|
*/
|
|
64
66
|
function startNetwork(listener) {
|
|
65
67
|
this.log.debug('Starting to listen for network events');
|
|
66
68
|
this.addClientEventListener('NetworkEvent', listener);
|
|
67
69
|
}
|
|
68
70
|
/**
|
|
69
|
-
*
|
|
70
|
-
* @returns {void}
|
|
71
|
+
* Stops listening for network events by removing the listener for NetworkEvent.
|
|
71
72
|
*/
|
|
72
73
|
function stopNetwork() {
|
|
73
74
|
this.log.debug('Stopping to listen for network events');
|
|
74
75
|
this.removeClientEventListener('NetworkEvent');
|
|
75
76
|
}
|
|
76
|
-
exports.default = exports.events;
|
|
77
|
-
/**
|
|
78
|
-
* @typedef {import('../remote-debugger').RemoteDebugger} RemoteDebugger
|
|
79
|
-
*/
|
|
80
77
|
//# sourceMappingURL=events.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../lib/mixins/events.
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../lib/mixins/events.ts"],"names":[],"mappings":";;;AAoBA,wDAQC;AAQD,8DAOC;AAQD,oCAOC;AAMD,kCAIC;AAQD,oCAMC;AAKD,kCAGC;AA1FD,6DAE8B;AAI9B,2BAA2B;AACd,QAAA,MAAM,GAAG;IACpB,iBAAiB,EAAE,6BAA6B;IAChD,qBAAqB,EAAE,iCAAiC;IACxD,gBAAgB,EAAE,4BAA4B;CACtC,CAAC;AAEX;;;;;;GAMG;AACH,SAAgB,sBAAsB,CAEpC,SAAiB,EACjB,QAAuB;IAEvB,IAAA,4CAAuB,EAAC,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAChD,IAAA,4CAAuB,EAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxD,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAClD,CAAC;AAED;;;;;GAKG;AACH,SAAgB,yBAAyB,CAEvC,SAAiB;IAEjB,KAAK,MAAM,QAAQ,IAAI,CAAC,IAAA,4CAAuB,EAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACxE,IAAI,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAE1B,QAAuB;IAEvB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC5D,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC;IAC9D,IAAI,CAAC,sBAAsB,CAAC,mCAAmC,EAAE,QAAQ,CAAC,CAAC;AAC7E,CAAC;AAED;;;GAGG;AACH,SAAgB,WAAW;IACzB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC5D,IAAI,CAAC,yBAAyB,CAAC,sBAAsB,CAAC,CAAC;IACvD,IAAI,CAAC,yBAAyB,CAAC,mCAAmC,CAAC,CAAC;AACtE,CAAC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAE1B,QAAuB;IAEvB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IACxD,IAAI,CAAC,sBAAsB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW;IACzB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IACxD,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC;AACjD,CAAC"}
|
|
@@ -1,34 +1,45 @@
|
|
|
1
|
+
import type { RemoteDebugger } from '../remote-debugger';
|
|
1
2
|
/**
|
|
2
|
-
*
|
|
3
|
+
* Executes a Selenium atom in Safari by generating the atom script and
|
|
4
|
+
* executing it in the page context.
|
|
3
5
|
*
|
|
4
|
-
* @
|
|
5
|
-
* @param
|
|
6
|
-
* @param
|
|
7
|
-
* @
|
|
8
|
-
* @returns {Promise<any>} The result received from the atom
|
|
6
|
+
* @param atom - Name of the Selenium atom to execute (see atoms/ directory).
|
|
7
|
+
* @param args - Arguments to pass to the atom function. Defaults to empty array.
|
|
8
|
+
* @param frames - Frame context array for frame-specific execution. Defaults to empty array.
|
|
9
|
+
* @returns A promise that resolves to the result received from the atom execution.
|
|
9
10
|
*/
|
|
10
|
-
export function executeAtom(this:
|
|
11
|
+
export declare function executeAtom(this: RemoteDebugger, atom: string, args?: any[], frames?: string[]): Promise<any>;
|
|
11
12
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* @
|
|
13
|
+
* Executes a Selenium atom asynchronously by creating a Promise in the page context
|
|
14
|
+
* and waiting for the atom to resolve it. Falls back to polling if Runtime.awaitPromise
|
|
15
|
+
* is not available.
|
|
16
|
+
*
|
|
17
|
+
* @param atom - Name of the Selenium atom to execute (see atoms/ directory).
|
|
18
|
+
* @param args - Arguments to pass to the atom function. Defaults to empty array.
|
|
19
|
+
* If args[2] is provided, it will be used as the timeout in milliseconds.
|
|
20
|
+
* @param frames - Frame context array for frame-specific execution. Defaults to empty array.
|
|
21
|
+
* @returns A promise that resolves to the result received from the atom execution.
|
|
17
22
|
*/
|
|
18
|
-
export function executeAtomAsync(this:
|
|
23
|
+
export declare function executeAtomAsync(this: RemoteDebugger, atom: string, args?: any[], frames?: string[]): Promise<any>;
|
|
19
24
|
/**
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* @
|
|
25
|
+
* Executes a JavaScript command in the page context and returns the result.
|
|
26
|
+
* Optionally performs garbage collection before execution if configured.
|
|
27
|
+
*
|
|
28
|
+
* @param command - The JavaScript command string to execute.
|
|
29
|
+
* @param override - Deprecated and unused parameter.
|
|
30
|
+
* @returns A promise that resolves to the result of the JavaScript evaluation,
|
|
31
|
+
* converted to a usable format.
|
|
24
32
|
*/
|
|
25
|
-
export function execute(this:
|
|
33
|
+
export declare function execute(this: RemoteDebugger, command: string, override?: boolean): Promise<any>;
|
|
26
34
|
/**
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* @param
|
|
35
|
+
* Calls a JavaScript function on a remote object identified by objectId.
|
|
36
|
+
* Optionally performs garbage collection before execution if configured.
|
|
37
|
+
*
|
|
38
|
+
* @param objectId - The object identifier of the remote object to call the function on.
|
|
39
|
+
* @param fn - The function declaration string to execute on the object.
|
|
40
|
+
* @param args - Optional array of arguments to pass to the function.
|
|
41
|
+
* @returns A promise that resolves to the result of the function call,
|
|
42
|
+
* converted to a usable format.
|
|
31
43
|
*/
|
|
32
|
-
export function callFunction(this:
|
|
33
|
-
export type RemoteDebugger = import("../remote-debugger").RemoteDebugger;
|
|
44
|
+
export declare function callFunction(this: RemoteDebugger, objectId: string, fn: string, args?: any[]): Promise<any>;
|
|
34
45
|
//# sourceMappingURL=execute.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../../lib/mixins/execute.
|
|
1
|
+
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../../lib/mixins/execute.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAMzD;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,GAAG,EAAO,EAChB,MAAM,GAAE,MAAM,EAAO,GACpB,OAAO,CAAC,GAAG,CAAC,CAQd;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,GAAG,EAAO,EAChB,MAAM,GAAE,MAAM,EAAO,GACpB,OAAO,CAAC,GAAG,CAAC,CAkFd;AAED;;;;;;;;GAQG;AAEH,wBAAsB,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAuBrG;AAED;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,EACV,IAAI,CAAC,EAAE,GAAG,EAAE,GACX,OAAO,CAAC,GAAG,CAAC,CAqBd"}
|
|
@@ -17,27 +17,33 @@ const property_accessors_1 = require("./property-accessors");
|
|
|
17
17
|
/* How many milliseconds to wait for webkit to return a response before timing out */
|
|
18
18
|
const RPC_RESPONSE_TIMEOUT_MS = 5000;
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
20
|
+
* Executes a Selenium atom in Safari by generating the atom script and
|
|
21
|
+
* executing it in the page context.
|
|
21
22
|
*
|
|
22
|
-
* @
|
|
23
|
-
* @param
|
|
24
|
-
* @param
|
|
25
|
-
* @
|
|
26
|
-
* @returns {Promise<any>} The result received from the atom
|
|
23
|
+
* @param atom - Name of the Selenium atom to execute (see atoms/ directory).
|
|
24
|
+
* @param args - Arguments to pass to the atom function. Defaults to empty array.
|
|
25
|
+
* @param frames - Frame context array for frame-specific execution. Defaults to empty array.
|
|
26
|
+
* @returns A promise that resolves to the result received from the atom execution.
|
|
27
27
|
*/
|
|
28
28
|
async function executeAtom(atom, args = [], frames = []) {
|
|
29
29
|
this.log.debug(`Executing atom '${atom}' with 'args=${JSON.stringify(args)}; frames=${frames}'`);
|
|
30
30
|
const script = await (0, atoms_1.getScriptForAtom)(atom, args, frames);
|
|
31
31
|
const value = await this.execute(script);
|
|
32
|
-
this.log.debug(`Received result for atom '${atom}' execution: ${lodash_1.default.truncate((0, utils_1.simpleStringify)(value), {
|
|
32
|
+
this.log.debug(`Received result for atom '${atom}' execution: ${lodash_1.default.truncate((0, utils_1.simpleStringify)(value), {
|
|
33
|
+
length: utils_1.RESPONSE_LOG_LENGTH
|
|
34
|
+
})}`);
|
|
33
35
|
return value;
|
|
34
36
|
}
|
|
35
37
|
/**
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* @
|
|
38
|
+
* Executes a Selenium atom asynchronously by creating a Promise in the page context
|
|
39
|
+
* and waiting for the atom to resolve it. Falls back to polling if Runtime.awaitPromise
|
|
40
|
+
* is not available.
|
|
41
|
+
*
|
|
42
|
+
* @param atom - Name of the Selenium atom to execute (see atoms/ directory).
|
|
43
|
+
* @param args - Arguments to pass to the atom function. Defaults to empty array.
|
|
44
|
+
* If args[2] is provided, it will be used as the timeout in milliseconds.
|
|
45
|
+
* @param frames - Frame context array for frame-specific execution. Defaults to empty array.
|
|
46
|
+
* @returns A promise that resolves to the result received from the atom execution.
|
|
41
47
|
*/
|
|
42
48
|
async function executeAtomAsync(atom, args = [], frames = []) {
|
|
43
49
|
// helper to send directly to the web inspector
|
|
@@ -119,10 +125,13 @@ async function executeAtomAsync(atom, args = [], frames = []) {
|
|
|
119
125
|
return (0, utils_1.convertJavascriptEvaluationResult)(res);
|
|
120
126
|
}
|
|
121
127
|
/**
|
|
122
|
-
*
|
|
123
|
-
*
|
|
124
|
-
*
|
|
125
|
-
* @
|
|
128
|
+
* Executes a JavaScript command in the page context and returns the result.
|
|
129
|
+
* Optionally performs garbage collection before execution if configured.
|
|
130
|
+
*
|
|
131
|
+
* @param command - The JavaScript command string to execute.
|
|
132
|
+
* @param override - Deprecated and unused parameter.
|
|
133
|
+
* @returns A promise that resolves to the result of the JavaScript evaluation,
|
|
134
|
+
* converted to a usable format.
|
|
126
135
|
*/
|
|
127
136
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
128
137
|
async function execute(command, override) {
|
|
@@ -134,9 +143,7 @@ async function execute(command, override) {
|
|
|
134
143
|
await this.garbageCollect();
|
|
135
144
|
}
|
|
136
145
|
const rpcClient = this.requireRpcClient(true);
|
|
137
|
-
await rpcClient.waitForPage(
|
|
138
|
-
/** @type {import('../types').AppIdKey} */ (appIdKey),
|
|
139
|
-
/** @type {import('../types').PageIdKey} */ (pageIdKey));
|
|
146
|
+
await rpcClient.waitForPage(appIdKey, pageIdKey);
|
|
140
147
|
this.log.debug(`Sending javascript command: '${lodash_1.default.truncate(command, { length: 50 })}'`);
|
|
141
148
|
const res = await rpcClient.send('Runtime.evaluate', {
|
|
142
149
|
expression: command,
|
|
@@ -147,10 +154,14 @@ async function execute(command, override) {
|
|
|
147
154
|
return (0, utils_1.convertJavascriptEvaluationResult)(res);
|
|
148
155
|
}
|
|
149
156
|
/**
|
|
150
|
-
*
|
|
151
|
-
*
|
|
152
|
-
*
|
|
153
|
-
* @param
|
|
157
|
+
* Calls a JavaScript function on a remote object identified by objectId.
|
|
158
|
+
* Optionally performs garbage collection before execution if configured.
|
|
159
|
+
*
|
|
160
|
+
* @param objectId - The object identifier of the remote object to call the function on.
|
|
161
|
+
* @param fn - The function declaration string to execute on the object.
|
|
162
|
+
* @param args - Optional array of arguments to pass to the function.
|
|
163
|
+
* @returns A promise that resolves to the result of the function call,
|
|
164
|
+
* converted to a usable format.
|
|
154
165
|
*/
|
|
155
166
|
async function callFunction(objectId, fn, args) {
|
|
156
167
|
const { appIdKey, pageIdKey } = (0, utils_1.checkParams)({
|
|
@@ -171,7 +182,4 @@ async function callFunction(objectId, fn, args) {
|
|
|
171
182
|
});
|
|
172
183
|
return (0, utils_1.convertJavascriptEvaluationResult)(res);
|
|
173
184
|
}
|
|
174
|
-
/**
|
|
175
|
-
* @typedef {import('../remote-debugger').RemoteDebugger} RemoteDebugger
|
|
176
|
-
*/
|
|
177
185
|
//# sourceMappingURL=execute.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../lib/mixins/execute.
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../lib/mixins/execute.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,61 +1,81 @@
|
|
|
1
|
+
import type { RemoteDebugger } from '../remote-debugger';
|
|
2
|
+
import type { StringRecord } from '@appium/types';
|
|
1
3
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* @
|
|
4
|
+
* Handles page change notifications from the remote debugger.
|
|
5
|
+
* Updates the page array for the specified application and emits a page change
|
|
6
|
+
* event if the pages have actually changed and navigation is not in progress.
|
|
7
|
+
*
|
|
8
|
+
* @param err - Error object if an error occurred, null or undefined otherwise.
|
|
9
|
+
* @param appIdKey - The application identifier key for which pages have changed.
|
|
10
|
+
* @param pageDict - Dictionary containing the new page information.
|
|
7
11
|
*/
|
|
8
|
-
export function onPageChange(this:
|
|
12
|
+
export declare function onPageChange(this: RemoteDebugger, err: Error | null | undefined, appIdKey: string, pageDict: StringRecord): Promise<void>;
|
|
9
13
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* @
|
|
14
|
+
* Handles notifications when a new application connects to the remote debugger.
|
|
15
|
+
* Updates the application dictionary with the new application information.
|
|
16
|
+
*
|
|
17
|
+
* @param err - Error object if an error occurred, null or undefined otherwise.
|
|
18
|
+
* @param dict - Dictionary containing the new application information including
|
|
19
|
+
* the WIRApplicationIdentifierKey.
|
|
14
20
|
*/
|
|
15
|
-
export function onAppConnect(this:
|
|
21
|
+
export declare function onAppConnect(this: RemoteDebugger, err: Error | null | undefined, dict: StringRecord): Promise<void>;
|
|
16
22
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
23
|
+
* Handles notifications when an application disconnects from the remote debugger.
|
|
24
|
+
* Removes the application from the dictionary and attempts to find a replacement
|
|
25
|
+
* if the disconnected app was the currently selected one. Emits a disconnect event
|
|
26
|
+
* if no applications remain.
|
|
27
|
+
*
|
|
28
|
+
* @param err - Error object if an error occurred, null or undefined otherwise.
|
|
29
|
+
* @param dict - Dictionary containing the disconnected application information
|
|
30
|
+
* including the WIRApplicationIdentifierKey.
|
|
21
31
|
*/
|
|
22
|
-
export function onAppDisconnect(this:
|
|
32
|
+
export declare function onAppDisconnect(this: RemoteDebugger, err: Error | null | undefined, dict: StringRecord): void;
|
|
23
33
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
34
|
+
* Handles notifications when an application's information is updated.
|
|
35
|
+
* Updates the application dictionary with the new information while preserving
|
|
36
|
+
* any existing page array data.
|
|
37
|
+
*
|
|
38
|
+
* @param err - Error object if an error occurred, null or undefined otherwise.
|
|
39
|
+
* @param dict - Dictionary containing the updated application information.
|
|
28
40
|
*/
|
|
29
|
-
export function onAppUpdate(this:
|
|
41
|
+
export declare function onAppUpdate(this: RemoteDebugger, err: Error | null | undefined, dict: StringRecord): Promise<void>;
|
|
30
42
|
/**
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* @
|
|
43
|
+
* Handles notifications containing the list of connected drivers.
|
|
44
|
+
* Updates the internal connected drivers list with the received information.
|
|
45
|
+
*
|
|
46
|
+
* @param err - Error object if an error occurred, null or undefined otherwise.
|
|
47
|
+
* @param drivers - Dictionary containing the connected driver list with
|
|
48
|
+
* WIRDriverDictionaryKey.
|
|
35
49
|
*/
|
|
36
|
-
export function onConnectedDriverList(this:
|
|
50
|
+
export declare function onConnectedDriverList(this: RemoteDebugger, err: Error | null | undefined, drivers: StringRecord): void;
|
|
37
51
|
/**
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
52
|
+
* Handles notifications about the current automation availability state.
|
|
53
|
+
* This state changes when 'Remote Automation' setting in Safari's advanced settings
|
|
54
|
+
* is toggled. The state can be either WIRAutomationAvailabilityAvailable or
|
|
55
|
+
* WIRAutomationAvailabilityNotAvailable.
|
|
56
|
+
*
|
|
57
|
+
* @param err - Error object if an error occurred, null or undefined otherwise.
|
|
58
|
+
* @param state - Dictionary containing the automation availability state with
|
|
59
|
+
* WIRAutomationAvailabilityKey.
|
|
42
60
|
*/
|
|
43
|
-
export function onCurrentState(this:
|
|
61
|
+
export declare function onCurrentState(this: RemoteDebugger, err: Error | null | undefined, state: StringRecord): void;
|
|
44
62
|
/**
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
63
|
+
* Handles notifications containing the list of connected applications.
|
|
64
|
+
* Translates the received information into the application dictionary format,
|
|
65
|
+
* filtering out any applications that are in the skipped apps list.
|
|
66
|
+
*
|
|
67
|
+
* @param err - Error object if an error occurred, null or undefined otherwise.
|
|
68
|
+
* @param apps - Dictionary containing the connected applications list.
|
|
49
69
|
*/
|
|
50
|
-
export function onConnectedApplicationList(this:
|
|
70
|
+
export declare function onConnectedApplicationList(this: RemoteDebugger, err: Error | null | undefined, apps: StringRecord): Promise<void>;
|
|
51
71
|
/**
|
|
52
|
-
* Given a bundle
|
|
53
|
-
* connected.
|
|
72
|
+
* Given a bundle ID, finds the correct remote debugger app identifier key
|
|
73
|
+
* that is currently connected. Also handles proxy applications that may act
|
|
74
|
+
* on behalf of the requested bundle ID.
|
|
54
75
|
*
|
|
55
|
-
* @
|
|
56
|
-
* @
|
|
57
|
-
*
|
|
76
|
+
* @param bundleId - The bundle identifier to search for.
|
|
77
|
+
* @returns The application identifier key if found, undefined otherwise.
|
|
78
|
+
* If a proxy application is found, returns the proxy's app ID instead.
|
|
58
79
|
*/
|
|
59
|
-
export function getDebuggerAppKey(this:
|
|
60
|
-
export type RemoteDebugger = import("../remote-debugger").RemoteDebugger;
|
|
80
|
+
export declare function getDebuggerAppKey(this: RemoteDebugger, bundleId: string): string | undefined;
|
|
61
81
|
//# sourceMappingURL=message-handlers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-handlers.d.ts","sourceRoot":"","sources":["../../../lib/mixins/message-handlers.
|
|
1
|
+
{"version":3,"file":"message-handlers.d.ts","sourceRoot":"","sources":["../../../lib/mixins/message-handlers.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAQlD;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,EAC7B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,IAAI,CAAC,CAiCf;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,EAC7B,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAIf;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,EAC7B,IAAI,EAAE,YAAY,GACjB,IAAI,CAoBN;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,EAC7B,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,EAC7B,OAAO,EAAE,YAAY,GACpB,IAAI,CAGN;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,EAC7B,KAAK,EAAE,YAAY,GAClB,IAAI,CAKN;AAED;;;;;;;GAOG;AACH,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,EAC7B,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAef;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA2B5F"}
|