appium-desktop-driver 1.7.2 → 1.8.0-preview.1
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 +256 -0
- package/README.md +129 -2
- package/build/lib/commands/actions.d.ts +5 -3
- package/build/lib/commands/actions.d.ts.map +1 -1
- package/build/lib/commands/actions.js +83 -91
- package/build/lib/commands/actions.js.map +1 -1
- package/build/lib/commands/app.d.ts +53 -1
- package/build/lib/commands/app.d.ts.map +1 -1
- package/build/lib/commands/app.js +415 -147
- package/build/lib/commands/app.js.map +1 -1
- package/build/lib/commands/contexts.d.ts +64 -0
- package/build/lib/commands/contexts.d.ts.map +1 -0
- package/build/lib/commands/contexts.js +166 -0
- package/build/lib/commands/contexts.js.map +1 -0
- package/build/lib/commands/device.d.ts +0 -8
- package/build/lib/commands/device.d.ts.map +1 -1
- package/build/lib/commands/device.js +4 -229
- package/build/lib/commands/device.js.map +1 -1
- package/build/lib/commands/element.d.ts +0 -3
- package/build/lib/commands/element.d.ts.map +1 -1
- package/build/lib/commands/element.js +102 -53
- package/build/lib/commands/element.js.map +1 -1
- package/build/lib/commands/extension.d.ts +2 -0
- package/build/lib/commands/extension.d.ts.map +1 -1
- package/build/lib/commands/extension.js +111 -184
- package/build/lib/commands/extension.js.map +1 -1
- package/build/lib/commands/index.d.ts +28 -17
- package/build/lib/commands/index.d.ts.map +1 -1
- package/build/lib/commands/index.js +4 -2
- package/build/lib/commands/index.js.map +1 -1
- package/build/lib/commands/screen-recorder.d.ts +3 -3
- package/build/lib/commands/screen-recorder.d.ts.map +1 -1
- package/build/lib/commands/screen-recorder.js +33 -24
- package/build/lib/commands/screen-recorder.js.map +1 -1
- package/build/lib/commands/server-session.d.ts +9 -0
- package/build/lib/commands/server-session.d.ts.map +1 -0
- package/build/lib/commands/server-session.js +158 -0
- package/build/lib/commands/server-session.js.map +1 -0
- package/build/lib/constraints.d.ts +29 -7
- package/build/lib/constraints.d.ts.map +1 -1
- package/build/lib/constraints.js +28 -6
- package/build/lib/constraints.js.map +1 -1
- package/build/lib/driver.d.ts +22 -13
- package/build/lib/driver.d.ts.map +1 -1
- package/build/lib/driver.js +135 -49
- package/build/lib/driver.js.map +1 -1
- package/build/lib/log-file.d.ts +10 -0
- package/build/lib/log-file.d.ts.map +1 -0
- package/build/lib/log-file.js +86 -0
- package/build/lib/log-file.js.map +1 -0
- package/build/lib/mcp/tools/context.d.ts +4 -0
- package/build/lib/mcp/tools/context.d.ts.map +1 -0
- package/build/lib/mcp/tools/context.js +49 -0
- package/build/lib/mcp/tools/context.js.map +1 -0
- package/build/lib/mcp/tools/index.d.ts.map +1 -1
- package/build/lib/mcp/tools/index.js +2 -0
- package/build/lib/mcp/tools/index.js.map +1 -1
- package/build/lib/powershell/conditions.d.ts.map +1 -1
- package/build/lib/powershell/conditions.js +7 -0
- package/build/lib/powershell/conditions.js.map +1 -1
- package/build/lib/server/client.d.ts +15 -0
- package/build/lib/server/client.d.ts.map +1 -0
- package/build/lib/server/client.js +169 -0
- package/build/lib/server/client.js.map +1 -0
- package/build/lib/server/conditions.d.ts +13 -0
- package/build/lib/server/conditions.d.ts.map +1 -0
- package/build/lib/server/conditions.js +71 -0
- package/build/lib/server/conditions.js.map +1 -0
- package/build/lib/server/converter-bridge.d.ts +26 -0
- package/build/lib/server/converter-bridge.d.ts.map +1 -0
- package/build/lib/server/converter-bridge.js +171 -0
- package/build/lib/server/converter-bridge.js.map +1 -0
- package/build/lib/server/index.d.ts +5 -0
- package/build/lib/server/index.d.ts.map +1 -0
- package/build/lib/server/index.js +25 -0
- package/build/lib/server/index.js.map +1 -0
- package/build/lib/server/protocol.d.ts +40 -0
- package/build/lib/server/protocol.d.ts.map +1 -0
- package/build/lib/server/protocol.js +3 -0
- package/build/lib/server/protocol.js.map +1 -0
- package/build/lib/util.d.ts +11 -1
- package/build/lib/util.d.ts.map +1 -1
- package/build/lib/util.js +158 -7
- package/build/lib/util.js.map +1 -1
- package/build/lib/version.d.ts +2 -0
- package/build/lib/version.d.ts.map +1 -0
- package/build/lib/version.js +20 -0
- package/build/lib/version.js.map +1 -0
- package/build/lib/winapi/user32.d.ts +5 -6
- package/build/lib/winapi/user32.d.ts.map +1 -1
- package/build/lib/winapi/user32.js +131 -88
- package/build/lib/winapi/user32.js.map +1 -1
- package/build/lib/xpath/core.d.ts +10 -4
- package/build/lib/xpath/core.d.ts.map +1 -1
- package/build/lib/xpath/core.js +212 -224
- package/build/lib/xpath/core.js.map +1 -1
- package/build/lib/xpath/functions.d.ts +7 -2
- package/build/lib/xpath/functions.d.ts.map +1 -1
- package/build/lib/xpath/functions.js +49 -25
- package/build/lib/xpath/functions.js.map +1 -1
- package/package.json +18 -12
- package/scripts/postinstall.js +39 -0
- package/build/eslint.config.d.mts +0 -3
- package/build/eslint.config.d.mts.map +0 -1
- package/build/eslint.config.mjs +0 -22
- package/build/eslint.config.mjs.map +0 -1
- package/build/lib/commands/powershell.d.ts +0 -6
- package/build/lib/commands/powershell.d.ts.map +0 -1
- package/build/lib/commands/powershell.js +0 -202
- package/build/lib/commands/powershell.js.map +0 -1
- package/build/tsconfig.tsbuildinfo +0 -1
|
@@ -2,58 +2,35 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.performActions = performActions;
|
|
4
4
|
exports.handleKeyActionSequence = handleKeyActionSequence;
|
|
5
|
-
exports.
|
|
6
|
-
exports.
|
|
5
|
+
exports.handlePointerActionSequence = handlePointerActionSequence;
|
|
6
|
+
exports.handleMousePointerActionSequence = handleMousePointerActionSequence;
|
|
7
|
+
exports.handleWheelActionSequence = handleWheelActionSequence;
|
|
8
|
+
exports.handleNullActionSequence = handleNullActionSequence;
|
|
7
9
|
exports.handleMouseMoveAction = handleMouseMoveAction;
|
|
8
10
|
exports.handleKeyAction = handleKeyAction;
|
|
9
11
|
exports.releaseActions = releaseActions;
|
|
10
12
|
const base_driver_1 = require("@appium/base-driver");
|
|
11
13
|
const user32_1 = require("../winapi/user32");
|
|
12
14
|
const util_1 = require("../util");
|
|
13
|
-
const powershell_1 = require("../powershell");
|
|
14
|
-
const element_1 = require("./element");
|
|
15
15
|
const enums_1 = require("../enums");
|
|
16
16
|
async function performActions(actionSequences) {
|
|
17
|
-
// Validate all sequences upfront before executing any actions
|
|
18
17
|
for (const actionSequence of actionSequences) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
;
|
|
36
|
-
switch (actionSequence.type) {
|
|
37
|
-
case 'key':
|
|
38
|
-
tickPromises.push(this.handleKeyAction(action));
|
|
39
|
-
break;
|
|
40
|
-
case 'pointer':
|
|
41
|
-
tickPromises.push(this.handleSingleMousePointerAction(action));
|
|
42
|
-
break;
|
|
43
|
-
case 'wheel':
|
|
44
|
-
tickPromises.push(this.handleSingleWheelAction(action));
|
|
45
|
-
break;
|
|
46
|
-
case 'none': {
|
|
47
|
-
const duration = action.duration;
|
|
48
|
-
if (duration) {
|
|
49
|
-
tickPromises.push((0, util_1.sleep)(duration));
|
|
50
|
-
}
|
|
51
|
-
;
|
|
52
|
-
break;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
18
|
+
switch (actionSequence.type) {
|
|
19
|
+
case 'key':
|
|
20
|
+
await this.handleKeyActionSequence(actionSequence);
|
|
21
|
+
break;
|
|
22
|
+
case 'wheel':
|
|
23
|
+
await this.handleWheelActionSequence(actionSequence);
|
|
24
|
+
break;
|
|
25
|
+
case 'pointer':
|
|
26
|
+
await this.handlePointerActionSequence(actionSequence);
|
|
27
|
+
break;
|
|
28
|
+
case 'none':
|
|
29
|
+
await this.handleNullActionSequence(actionSequence);
|
|
30
|
+
break;
|
|
31
|
+
default:
|
|
32
|
+
throw new base_driver_1.errors.InvalidArgumentError();
|
|
55
33
|
}
|
|
56
|
-
await Promise.all(tickPromises);
|
|
57
34
|
}
|
|
58
35
|
}
|
|
59
36
|
;
|
|
@@ -63,44 +40,63 @@ async function handleKeyActionSequence(actionSequence) {
|
|
|
63
40
|
await this.handleKeyAction(action);
|
|
64
41
|
}
|
|
65
42
|
}
|
|
66
|
-
async function
|
|
67
|
-
switch (
|
|
68
|
-
case '
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
case '
|
|
72
|
-
(0, user32_1.mouseDown)(action.button);
|
|
73
|
-
this.mouseButtonsDown.add(action.button);
|
|
74
|
-
break;
|
|
75
|
-
case 'pointerUp':
|
|
76
|
-
(0, user32_1.mouseUp)(action.button);
|
|
77
|
-
this.mouseButtonsDown.delete(action.button);
|
|
78
|
-
break;
|
|
79
|
-
case 'pause':
|
|
80
|
-
if (action.duration) {
|
|
81
|
-
await (0, util_1.sleep)(action.duration);
|
|
82
|
-
}
|
|
83
|
-
break;
|
|
43
|
+
async function handlePointerActionSequence(actionSequence) {
|
|
44
|
+
switch (actionSequence.parameters?.pointerType) {
|
|
45
|
+
case 'touch':
|
|
46
|
+
case 'pen':
|
|
47
|
+
throw new base_driver_1.errors.NotImplementedError(`Pointer type ${actionSequence.parameters?.pointerType} not implemented yet.`);
|
|
48
|
+
case 'mouse':
|
|
84
49
|
default:
|
|
85
|
-
|
|
50
|
+
await this.handleMousePointerActionSequence(actionSequence);
|
|
86
51
|
}
|
|
87
52
|
}
|
|
88
|
-
async function
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
53
|
+
async function handleMousePointerActionSequence(actionSequence) {
|
|
54
|
+
const actions = actionSequence.actions;
|
|
55
|
+
for (const action of actions) {
|
|
56
|
+
switch (action.type) {
|
|
57
|
+
case 'pointerMove':
|
|
58
|
+
await this.handleMouseMoveAction(action);
|
|
59
|
+
break;
|
|
60
|
+
case 'pointerDown':
|
|
61
|
+
(0, user32_1.mouseDown)(action.button);
|
|
62
|
+
break;
|
|
63
|
+
case 'pointerUp':
|
|
64
|
+
(0, user32_1.mouseUp)(action.button);
|
|
65
|
+
break;
|
|
66
|
+
case 'pause':
|
|
67
|
+
if (action.duration) {
|
|
68
|
+
await (0, util_1.sleep)(action.duration);
|
|
69
|
+
}
|
|
70
|
+
break;
|
|
71
|
+
default:
|
|
72
|
+
throw new base_driver_1.errors.InvalidArgumentError();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
async function handleWheelActionSequence(actionSequence) {
|
|
77
|
+
const actions = actionSequence.actions;
|
|
78
|
+
for (const action of actions) {
|
|
79
|
+
switch (action.type) {
|
|
80
|
+
case 'scroll':
|
|
81
|
+
await this.handleMouseMoveAction(action);
|
|
82
|
+
(0, user32_1.mouseScroll)(action.deltaX, action.deltaY);
|
|
83
|
+
break;
|
|
84
|
+
case 'pause':
|
|
85
|
+
if (action.duration) {
|
|
86
|
+
await (0, util_1.sleep)(action.duration);
|
|
87
|
+
}
|
|
88
|
+
break;
|
|
89
|
+
default:
|
|
90
|
+
throw new base_driver_1.errors.InvalidArgumentError();
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
async function handleNullActionSequence(actionSequence) {
|
|
95
|
+
const actions = actionSequence.actions;
|
|
96
|
+
for (const action of actions) {
|
|
97
|
+
if (action.duration) {
|
|
98
|
+
await (0, util_1.sleep)(action.duration);
|
|
99
|
+
}
|
|
104
100
|
}
|
|
105
101
|
}
|
|
106
102
|
async function handleMouseMoveAction(action) {
|
|
@@ -109,23 +105,20 @@ async function handleMouseMoveAction(action) {
|
|
|
109
105
|
case 'pointer':
|
|
110
106
|
await (0, user32_1.mouseMoveRelative)(action.x, action.y, action.duration, easingFunction);
|
|
111
107
|
break;
|
|
112
|
-
case undefined:
|
|
113
108
|
case 'viewport': {
|
|
114
|
-
const
|
|
115
|
-
const rootRect = JSON.parse(rootRectJson.replaceAll(/(?:infinity)/gi, 0x7FFFFFFF.toString()));
|
|
109
|
+
const rootRect = await this.sendCommand('getRootRect', {});
|
|
116
110
|
await (0, user32_1.mouseMoveAbsolute)(action.x + rootRect.x, action.y + rootRect.y, action.duration, easingFunction);
|
|
117
111
|
break;
|
|
118
112
|
}
|
|
119
113
|
default:
|
|
120
114
|
if (action.origin?.[base_driver_1.W3C_ELEMENT_KEY]) {
|
|
121
|
-
const
|
|
122
|
-
let rect = await
|
|
115
|
+
const elementId = action.origin[base_driver_1.W3C_ELEMENT_KEY];
|
|
116
|
+
let rect = await this.sendCommand('getRect', { elementId });
|
|
123
117
|
if (Object.values(rect).some((x) => x === 0x7FFFFFFF)) {
|
|
124
|
-
await this.
|
|
125
|
-
rect = await
|
|
118
|
+
await this.sendCommand('scrollElementIntoView', { elementId });
|
|
119
|
+
rect = await this.sendCommand('getRect', { elementId });
|
|
126
120
|
}
|
|
127
|
-
|
|
128
|
-
await (0, user32_1.mouseMoveAbsolute)(rect.x + rect.width / 2 + (action.x ?? 0), rect.y + rect.height / 2 + (action.y ?? 0), action.duration, easingFunction);
|
|
121
|
+
await (0, user32_1.mouseMoveAbsolute)(action.x === 0 ? rect.x + rect.width / 2 : action.x, action.y === 0 ? rect.y + rect.height / 2 : action.y, action.duration, easingFunction);
|
|
129
122
|
break;
|
|
130
123
|
}
|
|
131
124
|
throw new base_driver_1.errors.InvalidArgumentError();
|
|
@@ -197,7 +190,7 @@ async function handleKeyAction(action) {
|
|
|
197
190
|
if (this.keyboardState.alt) {
|
|
198
191
|
await this.handleKeyAction({ type: 'keyUp', value: enums_1.Key.ALT });
|
|
199
192
|
}
|
|
200
|
-
for (const key
|
|
193
|
+
for (const key in Array.of(this.keyboardState.pressed)) {
|
|
201
194
|
(0, user32_1.keyUp)(key);
|
|
202
195
|
this.keyboardState.pressed.delete(key);
|
|
203
196
|
}
|
|
@@ -239,9 +232,8 @@ async function releaseActions() {
|
|
|
239
232
|
(0, user32_1.keyUp)(key);
|
|
240
233
|
}
|
|
241
234
|
this.keyboardState.pressed.clear();
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
this.mouseButtonsDown.clear();
|
|
235
|
+
(0, user32_1.mouseUp)(0);
|
|
236
|
+
(0, user32_1.mouseUp)(1);
|
|
237
|
+
(0, user32_1.mouseUp)(2);
|
|
246
238
|
}
|
|
247
239
|
//# sourceMappingURL=actions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../lib/commands/actions.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../lib/commands/actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,58 @@ export declare function changeRootElement(this: AppiumDesktopDriver, nativeWindo
|
|
|
13
13
|
export declare function back(this: AppiumDesktopDriver): Promise<void>;
|
|
14
14
|
export declare function forward(this: AppiumDesktopDriver): Promise<void>;
|
|
15
15
|
export declare function title(this: AppiumDesktopDriver): Promise<string>;
|
|
16
|
+
export declare function maximizeWindow(this: AppiumDesktopDriver): Promise<Rect>;
|
|
17
|
+
export declare function minimizeWindow(this: AppiumDesktopDriver): Promise<Rect>;
|
|
16
18
|
export declare function setWindowRect(this: AppiumDesktopDriver, x: number | null, y: number | null, width: number | null, height: number | null): Promise<Rect>;
|
|
17
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Polls for a visible Win32 window in the process tree rooted at launcherPid.
|
|
21
|
+
*
|
|
22
|
+
* On each iteration, discovers children of every known PID via
|
|
23
|
+
* getChildProcessIds and accumulates them so they survive if the launcher
|
|
24
|
+
* exits before the next poll. This lets stub-launcher apps (e.g. the
|
|
25
|
+
* notepad.exe that immediately re-execs the real one in a child process) be
|
|
26
|
+
* detected without waiting out the full timeout on a windowless PID.
|
|
27
|
+
*
|
|
28
|
+
* Returns the HWND of the found window together with all discovered PIDs so
|
|
29
|
+
* the caller can use them for subsequent ProcessId-based searches without a
|
|
30
|
+
* separate getProcessIds round-trip.
|
|
31
|
+
*/
|
|
32
|
+
export declare function waitForNewWindow(this: AppiumDesktopDriver, launcherPid: number, timeout: number): Promise<{
|
|
33
|
+
handle: number;
|
|
34
|
+
knownPids: number[];
|
|
35
|
+
}>;
|
|
36
|
+
/**
|
|
37
|
+
* Iterates a list of Win32 window handles, finds the first one whose UIA
|
|
38
|
+
* subtree has at least two keyboard-focusable descendants (indicating it is a
|
|
39
|
+
* real, loaded app window rather than a splash or empty frame), sets it as the
|
|
40
|
+
* session root, and brings it to the foreground.
|
|
41
|
+
*
|
|
42
|
+
* Returns true if a window was successfully attached, false if none qualified.
|
|
43
|
+
*/
|
|
44
|
+
export declare function attachToWindowHandles(this: AppiumDesktopDriver, handles: number[]): Promise<boolean>;
|
|
45
|
+
/**
|
|
46
|
+
* Attaches the driver session to the window spawned by launcherPid.
|
|
47
|
+
*
|
|
48
|
+
* Delegates process-tree discovery to waitForNewWindow, then resolves the
|
|
49
|
+
* Win32 HWND to a UIA element via elementFromHandle (with a short ProcessId
|
|
50
|
+
* fallback for the rare case where UIA registration lags the Win32 window).
|
|
51
|
+
* Returns focused=false when the attached window looks like a splash screen
|
|
52
|
+
* (fewer than 2 keyboard-focusable descendants), signalling the caller to
|
|
53
|
+
* run waitForMainWindow.
|
|
54
|
+
*/
|
|
55
|
+
export declare function attachToApplicationWindow(this: AppiumDesktopDriver, launcherPid: number, options?: {
|
|
56
|
+
deadline?: number | null;
|
|
57
|
+
}): Promise<{
|
|
58
|
+
focused: boolean;
|
|
59
|
+
knownPids: number[];
|
|
60
|
+
}>;
|
|
61
|
+
/**
|
|
62
|
+
* Waits for a splash screen to disappear and re-attaches to the app's main window.
|
|
63
|
+
*
|
|
64
|
+
* After `attachToApplicationWindow` attaches to a window that can't receive focus
|
|
65
|
+
* (a splash screen), this function polls until the current root element becomes
|
|
66
|
+
* stale (splash screen closed) or a new, different window handle appears for the
|
|
67
|
+
* same process. It then re-attaches to the new main window.
|
|
68
|
+
*/
|
|
69
|
+
export declare function waitForMainWindow(this: AppiumDesktopDriver, knownPids: number[], deadline: number): Promise<void>;
|
|
18
70
|
//# sourceMappingURL=app.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../lib/commands/app.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,IAAI,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AA4DhD,wBAAsB,aAAa,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAE9E;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAc9E;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../lib/commands/app.ts"],"names":[],"mappings":"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"}
|