appium-desktop-driver 1.7.2-preview.1 → 1.7.2

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 (111) hide show
  1. package/README.md +2 -0
  2. package/build/eslint.config.d.mts +3 -0
  3. package/build/eslint.config.d.mts.map +1 -0
  4. package/build/eslint.config.mjs +22 -0
  5. package/build/eslint.config.mjs.map +1 -0
  6. package/build/lib/commands/actions.d.ts +3 -5
  7. package/build/lib/commands/actions.d.ts.map +1 -1
  8. package/build/lib/commands/actions.js +91 -83
  9. package/build/lib/commands/actions.js.map +1 -1
  10. package/build/lib/commands/app.d.ts +1 -53
  11. package/build/lib/commands/app.d.ts.map +1 -1
  12. package/build/lib/commands/app.js +147 -415
  13. package/build/lib/commands/app.js.map +1 -1
  14. package/build/lib/commands/device.d.ts +8 -0
  15. package/build/lib/commands/device.d.ts.map +1 -1
  16. package/build/lib/commands/device.js +229 -4
  17. package/build/lib/commands/device.js.map +1 -1
  18. package/build/lib/commands/element.d.ts +3 -0
  19. package/build/lib/commands/element.d.ts.map +1 -1
  20. package/build/lib/commands/element.js +53 -102
  21. package/build/lib/commands/element.js.map +1 -1
  22. package/build/lib/commands/extension.d.ts +0 -2
  23. package/build/lib/commands/extension.d.ts.map +1 -1
  24. package/build/lib/commands/extension.js +184 -111
  25. package/build/lib/commands/extension.js.map +1 -1
  26. package/build/lib/commands/index.d.ts +17 -28
  27. package/build/lib/commands/index.d.ts.map +1 -1
  28. package/build/lib/commands/index.js +2 -4
  29. package/build/lib/commands/index.js.map +1 -1
  30. package/build/lib/commands/powershell.d.ts +6 -0
  31. package/build/lib/commands/powershell.d.ts.map +1 -0
  32. package/build/lib/commands/powershell.js +202 -0
  33. package/build/lib/commands/powershell.js.map +1 -0
  34. package/build/lib/commands/screen-recorder.d.ts +3 -3
  35. package/build/lib/commands/screen-recorder.d.ts.map +1 -1
  36. package/build/lib/commands/screen-recorder.js +24 -33
  37. package/build/lib/commands/screen-recorder.js.map +1 -1
  38. package/build/lib/constraints.d.ts +7 -26
  39. package/build/lib/constraints.d.ts.map +1 -1
  40. package/build/lib/constraints.js +6 -25
  41. package/build/lib/constraints.js.map +1 -1
  42. package/build/lib/driver.d.ts +13 -22
  43. package/build/lib/driver.d.ts.map +1 -1
  44. package/build/lib/driver.js +49 -130
  45. package/build/lib/driver.js.map +1 -1
  46. package/build/lib/mcp/tools/index.d.ts.map +1 -1
  47. package/build/lib/mcp/tools/index.js +0 -2
  48. package/build/lib/mcp/tools/index.js.map +1 -1
  49. package/build/lib/powershell/conditions.d.ts.map +1 -1
  50. package/build/lib/powershell/conditions.js +0 -7
  51. package/build/lib/powershell/conditions.js.map +1 -1
  52. package/build/lib/util.d.ts +1 -11
  53. package/build/lib/util.d.ts.map +1 -1
  54. package/build/lib/util.js +7 -158
  55. package/build/lib/util.js.map +1 -1
  56. package/build/lib/winapi/user32.d.ts +6 -5
  57. package/build/lib/winapi/user32.d.ts.map +1 -1
  58. package/build/lib/winapi/user32.js +88 -131
  59. package/build/lib/winapi/user32.js.map +1 -1
  60. package/build/lib/xpath/core.d.ts +4 -10
  61. package/build/lib/xpath/core.d.ts.map +1 -1
  62. package/build/lib/xpath/core.js +224 -205
  63. package/build/lib/xpath/core.js.map +1 -1
  64. package/build/lib/xpath/functions.d.ts +2 -7
  65. package/build/lib/xpath/functions.d.ts.map +1 -1
  66. package/build/lib/xpath/functions.js +25 -49
  67. package/build/lib/xpath/functions.js.map +1 -1
  68. package/build/tsconfig.tsbuildinfo +1 -0
  69. package/package.json +12 -18
  70. package/CHANGELOG.md +0 -249
  71. package/build/lib/commands/contexts.d.ts +0 -64
  72. package/build/lib/commands/contexts.d.ts.map +0 -1
  73. package/build/lib/commands/contexts.js +0 -166
  74. package/build/lib/commands/contexts.js.map +0 -1
  75. package/build/lib/commands/server-session.d.ts +0 -9
  76. package/build/lib/commands/server-session.d.ts.map +0 -1
  77. package/build/lib/commands/server-session.js +0 -158
  78. package/build/lib/commands/server-session.js.map +0 -1
  79. package/build/lib/log-file.d.ts +0 -10
  80. package/build/lib/log-file.d.ts.map +0 -1
  81. package/build/lib/log-file.js +0 -86
  82. package/build/lib/log-file.js.map +0 -1
  83. package/build/lib/mcp/tools/context.d.ts +0 -4
  84. package/build/lib/mcp/tools/context.d.ts.map +0 -1
  85. package/build/lib/mcp/tools/context.js +0 -49
  86. package/build/lib/mcp/tools/context.js.map +0 -1
  87. package/build/lib/server/client.d.ts +0 -15
  88. package/build/lib/server/client.d.ts.map +0 -1
  89. package/build/lib/server/client.js +0 -169
  90. package/build/lib/server/client.js.map +0 -1
  91. package/build/lib/server/conditions.d.ts +0 -13
  92. package/build/lib/server/conditions.d.ts.map +0 -1
  93. package/build/lib/server/conditions.js +0 -71
  94. package/build/lib/server/conditions.js.map +0 -1
  95. package/build/lib/server/converter-bridge.d.ts +0 -26
  96. package/build/lib/server/converter-bridge.d.ts.map +0 -1
  97. package/build/lib/server/converter-bridge.js +0 -171
  98. package/build/lib/server/converter-bridge.js.map +0 -1
  99. package/build/lib/server/index.d.ts +0 -5
  100. package/build/lib/server/index.d.ts.map +0 -1
  101. package/build/lib/server/index.js +0 -25
  102. package/build/lib/server/index.js.map +0 -1
  103. package/build/lib/server/protocol.d.ts +0 -40
  104. package/build/lib/server/protocol.d.ts.map +0 -1
  105. package/build/lib/server/protocol.js +0 -3
  106. package/build/lib/server/protocol.js.map +0 -1
  107. package/build/lib/version.d.ts +0 -2
  108. package/build/lib/version.d.ts.map +0 -1
  109. package/build/lib/version.js +0 -20
  110. package/build/lib/version.js.map +0 -1
  111. package/scripts/postinstall.js +0 -39
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../lib/commands/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../lib/commands/app.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,11 @@
1
1
  import { AppiumDesktopDriver } from '../driver';
2
2
  export declare function getDeviceTime(this: AppiumDesktopDriver, _sessionId?: string, format?: string): Promise<string>;
3
+ export declare function pushFile(this: AppiumDesktopDriver, path: string, data: string): Promise<void>;
4
+ export declare function pullFile(this: AppiumDesktopDriver, path: string): Promise<string>;
5
+ export declare function pullFolder(this: AppiumDesktopDriver, path: string): Promise<string>;
6
+ export declare function hideKeyboard(this: AppiumDesktopDriver, _strategy?: string, _key?: string, _keyCode?: string, _keyName?: string): Promise<void>;
7
+ export declare function isKeyboardShown(this: AppiumDesktopDriver): Promise<boolean>;
8
+ export declare function activateApp(this: AppiumDesktopDriver, appId: string, _options?: Record<string, unknown>): Promise<void>;
9
+ export declare function terminateApp(this: AppiumDesktopDriver, appId: string, _options?: Record<string, unknown>): Promise<boolean>;
10
+ export declare function isAppInstalled(this: AppiumDesktopDriver, appId: string): Promise<boolean>;
3
11
  //# sourceMappingURL=device.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../lib/commands/device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAIhD,wBAAsB,aAAa,CAAC,IAAI,EAAE,mBAAmB,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAKpH"}
1
+ {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../lib/commands/device.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAWhD,wBAAsB,aAAa,CAAC,IAAI,EAAE,mBAAmB,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGpH;AAWD,wBAAsB,QAAQ,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOnG;AAID,wBAAsB,QAAQ,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIvF;AAaD,wBAAsB,UAAU,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIzF;AAyBD,wBAAsB,YAAY,CAC9B,IAAI,EAAE,mBAAmB,EACzB,SAAS,CAAC,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAEf;AAoBD,wBAAsB,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAGjF;AAID,wBAAsB,WAAW,CAC7B,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC,CAiCf;AAED,wBAAsB,YAAY,CAC9B,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,OAAO,CAAC,OAAO,CAAC,CA0ElB;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA2B/F"}
@@ -1,11 +1,236 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getDeviceTime = getDeviceTime;
4
+ exports.pushFile = pushFile;
5
+ exports.pullFile = pullFile;
6
+ exports.pullFolder = pullFolder;
7
+ exports.hideKeyboard = hideKeyboard;
8
+ exports.isKeyboardShown = isKeyboardShown;
9
+ exports.activateApp = activateApp;
10
+ exports.terminateApp = terminateApp;
11
+ exports.isAppInstalled = isAppInstalled;
12
+ const node_path_1 = require("node:path");
13
+ const base_driver_1 = require("@appium/base-driver");
14
+ const powershell_1 = require("../powershell");
15
+ const constants_1 = require("../constants");
16
+ const util_1 = require("../util");
17
+ const TERMINATE_POLL_INTERVAL_MS = 200;
18
+ const TERMINATE_TIMEOUT_MS = 10_000;
19
+ const GET_SYSTEM_TIME_COMMAND = (0, powershell_1.pwsh$ /* ps1 */) `(Get-Date).ToString(${0})`;
4
20
  const ISO_8061_FORMAT = 'yyyy-MM-ddTHH:mm:sszzz';
5
21
  async function getDeviceTime(_sessionId, format) {
6
- const fmt = format ?? ISO_8061_FORMAT;
7
- // Use the C# server to get formatted date/time
8
- const script = `(Get-Date).ToString('${fmt.replace(/'/g, "''")}')`;
9
- return await this.sendCommand('executePowerShellScript', { script });
22
+ const fmt = format ? new powershell_1.PSString(format).toString() : `'${ISO_8061_FORMAT}'`;
23
+ return await this.sendPowerShellCommand(GET_SYSTEM_TIME_COMMAND.format(fmt));
10
24
  }
25
+ // ─── File operations ─────────────────────────────────────────────────────────
26
+ const PUSH_FILE_COMMAND = (0, powershell_1.pwsh$ /* ps1 */) `
27
+ $path = ${0}
28
+ $parentDir = [IO.Path]::GetDirectoryName($path)
29
+ if ($parentDir) { [IO.Directory]::CreateDirectory($parentDir) | Out-Null }
30
+ [IO.File]::WriteAllBytes($path, [Convert]::FromBase64String(${1}))
31
+ `;
32
+ async function pushFile(path, data) {
33
+ this.assertFeatureEnabled(constants_1.MODIFY_FS_FEATURE);
34
+ if (!path) {
35
+ throw new base_driver_1.errors.InvalidArgumentError("'path' must be provided.");
36
+ }
37
+ if (!data) {
38
+ throw new base_driver_1.errors.InvalidArgumentError("'data' must be provided.");
39
+ }
40
+ await this.sendPowerShellCommand(PUSH_FILE_COMMAND.format(new powershell_1.PSString(path).toString(), new powershell_1.PSString(data).toString()));
41
+ }
42
+ const PULL_FILE_COMMAND = (0, powershell_1.pwsh$ /* ps1 */) `[Convert]::ToBase64String([IO.File]::ReadAllBytes(${0}))`;
43
+ async function pullFile(path) {
44
+ this.assertFeatureEnabled(constants_1.MODIFY_FS_FEATURE);
45
+ if (!path) {
46
+ throw new base_driver_1.errors.InvalidArgumentError("'path' must be provided.");
47
+ }
48
+ return await this.sendPowerShellCommand(PULL_FILE_COMMAND.format(new powershell_1.PSString(path).toString()));
49
+ }
50
+ const PULL_FOLDER_COMMAND = (0, powershell_1.pwsh$ /* ps1 */) `
51
+ $srcPath = ${0}
52
+ $tempZip = [IO.Path]::GetTempFileName() + '.zip'
53
+ try {
54
+ Compress-Archive -LiteralPath $srcPath -DestinationPath $tempZip -ErrorAction Stop
55
+ [Convert]::ToBase64String([IO.File]::ReadAllBytes($tempZip))
56
+ } finally {
57
+ if (Test-Path $tempZip) { Remove-Item $tempZip -Force }
58
+ }
59
+ `;
60
+ async function pullFolder(path) {
61
+ this.assertFeatureEnabled(constants_1.MODIFY_FS_FEATURE);
62
+ if (!path) {
63
+ throw new base_driver_1.errors.InvalidArgumentError("'path' must be provided.");
64
+ }
65
+ return await this.sendPowerShellCommand(PULL_FOLDER_COMMAND.format(new powershell_1.PSString(path).toString()));
66
+ }
67
+ // ─── Keyboard ────────────────────────────────────────────────────────────────
68
+ const HIDE_KEYBOARD_COMMAND = (0, powershell_1.pwsh /* ps1 */) `
69
+ $kb = Get-Process -Name 'TabTip','TextInputHost' -ErrorAction SilentlyContinue | Select-Object -First 1
70
+ if ($null -eq $kb) { return }
71
+ $kbEl = [System.Windows.Automation.AutomationElement]::RootElement.FindFirst(
72
+ [System.Windows.Automation.TreeScope]::Children,
73
+ [System.Windows.Automation.PropertyCondition]::new(
74
+ [System.Windows.Automation.AutomationElement]::ProcessIdProperty,
75
+ $kb.Id
76
+ )
77
+ )
78
+ if ($null -ne $kbEl) {
79
+ try {
80
+ $kbEl.GetCurrentPattern([System.Windows.Automation.WindowPattern]::Pattern).Close()
81
+ } catch {
82
+ Stop-Process -Id $kb.Id -Force -ErrorAction SilentlyContinue
83
+ }
84
+ } else {
85
+ Stop-Process -Id $kb.Id -Force -ErrorAction SilentlyContinue
86
+ }
87
+ `;
88
+ async function hideKeyboard(_strategy, _key, _keyCode, _keyName) {
89
+ await this.sendPowerShellCommand(HIDE_KEYBOARD_COMMAND);
90
+ }
91
+ const IS_KEYBOARD_SHOWN_COMMAND = (0, powershell_1.pwsh /* ps1 */) `
92
+ $kb = Get-Process -Name 'TabTip','TextInputHost' -ErrorAction SilentlyContinue | Select-Object -First 1
93
+ if ($null -eq $kb) { Write-Output 'false'; return }
94
+ $kbEl = [System.Windows.Automation.AutomationElement]::RootElement.FindFirst(
95
+ [System.Windows.Automation.TreeScope]::Children,
96
+ [System.Windows.Automation.PropertyCondition]::new(
97
+ [System.Windows.Automation.AutomationElement]::ProcessIdProperty,
98
+ $kb.Id
99
+ )
100
+ )
101
+ if ($null -eq $kbEl) { Write-Output 'false'; return }
102
+ if ($kbEl.GetCurrentPropertyValue([System.Windows.Automation.AutomationElement]::IsOffscreenProperty)) {
103
+ Write-Output 'false'
104
+ } else {
105
+ Write-Output 'true'
106
+ }
107
+ `;
108
+ async function isKeyboardShown() {
109
+ const result = await this.sendPowerShellCommand(IS_KEYBOARD_SHOWN_COMMAND);
110
+ return result.trim().toLowerCase() === 'true';
111
+ }
112
+ // ─── App management ──────────────────────────────────────────────────────────
113
+ async function activateApp(appId, _options) {
114
+ if (!appId) {
115
+ throw new base_driver_1.errors.InvalidArgumentError("'appId' or 'bundleId' must be provided.");
116
+ }
117
+ const isUwp = (0, util_1.isUwpAppId)(appId);
118
+ if (isUwp) {
119
+ await this.changeRootElement(appId);
120
+ return;
121
+ }
122
+ const normalizedPath = (0, node_path_1.normalize)(appId);
123
+ const parts = normalizedPath.toLowerCase().split('\\').flatMap((x) => x.split('/'));
124
+ const executable = parts[parts.length - 1];
125
+ const processName = (executable.endsWith('.exe') ? executable.slice(0, -4) : executable).replace(/'/g, "''");
126
+ const pidResult = await this.sendPowerShellCommand(
127
+ /* ps1 */ `(Get-Process -Name '${processName}' -ErrorAction SilentlyContinue | Sort-Object StartTime -Descending | Select-Object -First 1).Id`);
128
+ const existingPid = Number(pidResult.trim());
129
+ if (!isNaN(existingPid) && existingPid > 0) {
130
+ const handleResult = await this.sendPowerShellCommand(
131
+ /* ps1 */ `(Get-Process -Id ${existingPid} -ErrorAction SilentlyContinue).MainWindowHandle`);
132
+ const handle = Number(handleResult.trim());
133
+ if (!isNaN(handle) && handle > 0) {
134
+ await this.changeRootElement(handle);
135
+ return;
136
+ }
137
+ await this.attachToApplicationWindow([existingPid]);
138
+ return;
139
+ }
140
+ await this.changeRootElement(appId);
141
+ }
142
+ async function terminateApp(appId, _options) {
143
+ if (!appId) {
144
+ throw new base_driver_1.errors.InvalidArgumentError("'appId' or 'bundleId' must be provided.");
145
+ }
146
+ const isUwp = (0, util_1.isUwpAppId)(appId);
147
+ let killed;
148
+ if (isUwp) {
149
+ const safeFamily = new powershell_1.PSString(appId.split('!')[0]).toString();
150
+ const checkResult = await this.sendPowerShellCommand(
151
+ /* ps1 */ `
152
+ $pkg = Get-AppxPackage | Where-Object { $_.PackageFamilyName -eq ${safeFamily} }
153
+ if ($null -eq $pkg) { Write-Output 'none'; return }
154
+ $procs = Get-Process | Where-Object { $_.Path -like ($pkg.InstallLocation + '\\*') }
155
+ if (@($procs).Count -eq 0) { Write-Output 'none' } else { ($procs | Select-Object -ExpandProperty Id) -join ',' }
156
+ `);
157
+ const pids = checkResult.trim();
158
+ if (pids === 'none' || pids === '') {
159
+ await this.sendPowerShellCommand(/* ps1 */ `$rootElement = $null`).catch(() => { });
160
+ return false;
161
+ }
162
+ await this.sendPowerShellCommand(
163
+ /* ps1 */ `Stop-Process -Id ${pids} -Force -ErrorAction SilentlyContinue`);
164
+ const deadline = Date.now() + TERMINATE_TIMEOUT_MS;
165
+ killed = false;
166
+ while (Date.now() < deadline) {
167
+ await (0, util_1.sleep)(TERMINATE_POLL_INTERVAL_MS);
168
+ const stillRunning = await this.sendPowerShellCommand(
169
+ /* ps1 */ `
170
+ $pkg = Get-AppxPackage | Where-Object { $_.PackageFamilyName -eq ${safeFamily} }
171
+ if ($null -eq $pkg) { 'false' } else { ($null -ne (Get-Process | Where-Object { $_.Path -like ($pkg.InstallLocation + '\\*') } | Select-Object -First 1)).ToString().ToLower() }
172
+ `);
173
+ if (stillRunning.trim().toLowerCase() !== 'true') {
174
+ killed = true;
175
+ break;
176
+ }
177
+ }
178
+ }
179
+ else {
180
+ const normalizedPath = (0, node_path_1.normalize)(appId);
181
+ const parts = normalizedPath.toLowerCase().split('\\').flatMap((x) => x.split('/'));
182
+ const executable = parts[parts.length - 1];
183
+ const processName = (executable.endsWith('.exe') ? executable.slice(0, -4) : executable).replace(/'/g, "''");
184
+ const checkResult = await this.sendPowerShellCommand(
185
+ /* ps1 */ `$procs = Get-Process -Name '${processName}' -ErrorAction SilentlyContinue; if (@($procs).Count -eq 0) { Write-Output 'none' } else { ($procs | Select-Object -ExpandProperty Id) -join ',' }`);
186
+ const pids = checkResult.trim();
187
+ if (pids === 'none' || pids === '') {
188
+ await this.sendPowerShellCommand(/* ps1 */ `$rootElement = $null`).catch(() => { });
189
+ return false;
190
+ }
191
+ await this.sendPowerShellCommand(
192
+ /* ps1 */ `Stop-Process -Id ${pids} -Force -ErrorAction SilentlyContinue`);
193
+ const deadline = Date.now() + TERMINATE_TIMEOUT_MS;
194
+ killed = false;
195
+ while (Date.now() < deadline) {
196
+ await (0, util_1.sleep)(TERMINATE_POLL_INTERVAL_MS);
197
+ const stillRunning = await this.sendPowerShellCommand(
198
+ /* ps1 */ `(Get-Process -Name '${processName}' -ErrorAction SilentlyContinue).Count -gt 0`);
199
+ if (stillRunning.trim().toLowerCase() !== 'true') {
200
+ killed = true;
201
+ break;
202
+ }
203
+ }
204
+ }
205
+ await this.sendPowerShellCommand(/* ps1 */ `$rootElement = $null`).catch(() => { });
206
+ return killed;
207
+ }
208
+ async function isAppInstalled(appId) {
209
+ if (!appId) {
210
+ throw new base_driver_1.errors.InvalidArgumentError("'appId' or 'bundleId' must be provided.");
211
+ }
212
+ const isUwp = (0, util_1.isUwpAppId)(appId);
213
+ if (isUwp) {
214
+ const safeFamily = new powershell_1.PSString(appId.split('!')[0]).toString();
215
+ const result = await this.sendPowerShellCommand(
216
+ /* ps1 */ `if (@(Get-AppxPackage | Where-Object { $_.PackageFamilyName -eq ${safeFamily} }).Count -gt 0) { 'true' } else { 'false' }`);
217
+ return result.trim().toLowerCase() === 'true';
218
+ }
219
+ const hasPathSeparator = appId.includes('/') || appId.includes('\\');
220
+ if (hasPathSeparator) {
221
+ const safePath = new powershell_1.PSString(appId).toString();
222
+ const result = await this.sendPowerShellCommand(
223
+ /* ps1 */ `if (Test-Path -LiteralPath ${safePath}) { 'true' } else { 'false' }`);
224
+ return result.trim().toLowerCase() === 'true';
225
+ }
226
+ // Bare process name — search PATH
227
+ const safeName = new powershell_1.PSString(appId).toString();
228
+ const result = await this.sendPowerShellCommand(
229
+ /* ps1 */ `if (Get-Command -Name ${safeName} -ErrorAction SilentlyContinue) { 'true' } else { 'false' }`);
230
+ return result.trim().toLowerCase() === 'true';
231
+ }
232
+ // command: 'installApp'
233
+ // payloadParams: { required: ['appPath'], optional: ['options'] }
234
+ // command: 'removeApp'
235
+ // payloadParams: { required: [['appId'], ['bundleId']], optional: ['options'] }
11
236
  //# sourceMappingURL=device.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"device.js","sourceRoot":"","sources":["../../../lib/commands/device.ts"],"names":[],"mappings":";;AAIA,sCAKC;AAPD,MAAM,eAAe,GAAG,wBAAwB,CAAC;AAE1C,KAAK,UAAU,aAAa,CAA4B,UAAmB,EAAE,MAAe;IAC/F,MAAM,GAAG,GAAG,MAAM,IAAI,eAAe,CAAC;IACtC,+CAA+C;IAC/C,MAAM,MAAM,GAAG,wBAAwB,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;IACnE,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,yBAAyB,EAAE,EAAE,MAAM,EAAE,CAAW,CAAC;AACnF,CAAC"}
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../../../lib/commands/device.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Element, Rect } from '@appium/types';
2
2
  import { AppiumDesktopDriver } from '../driver';
3
+ import { AutomationElement } from '../powershell';
3
4
  export declare function getProperty(this: AppiumDesktopDriver, propertyName: string, elementId: string): Promise<string>;
4
5
  export declare function getAttribute(this: AppiumDesktopDriver, propertyName: string, elementId: string): Promise<string>;
5
6
  export declare function active(this: AppiumDesktopDriver): Promise<Element>;
@@ -7,6 +8,8 @@ export declare function getName(this: AppiumDesktopDriver, elementId: string): P
7
8
  export declare function getText(this: AppiumDesktopDriver, elementId: string): Promise<string>;
8
9
  export declare function clear(this: AppiumDesktopDriver, elementId: string): Promise<void>;
9
10
  export declare function setValue(this: AppiumDesktopDriver, value: string | string[], elementId: string): Promise<void>;
11
+ declare function fetchElementRect(driver: AppiumDesktopDriver, element: AutomationElement): Promise<Rect>;
12
+ export { fetchElementRect };
10
13
  export declare function getElementRect(this: AppiumDesktopDriver, elementId: string): Promise<Rect>;
11
14
  export declare function elementDisplayed(this: AppiumDesktopDriver, elementId: string): Promise<boolean>;
12
15
  export declare function elementSelected(this: AppiumDesktopDriver, elementId: string): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../../../lib/commands/element.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAQhD,wBAAsB,WAAW,CAAC,IAAI,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAErH;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAGpG;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAGxE;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE3F;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE3F;AAED,wBAAsB,KAAK,CAAC,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvF;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuHpH;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQhG;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAMrG;AAGD,wBAAsB,eAAe,CAAC,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQpG;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGnG;AAED,wBAAsB,KAAK,CAAC,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA4GvF;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMxG"}
1
+ {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../../../lib/commands/element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAEH,iBAAiB,EAWpB,MAAM,eAAe,CAAC;AAMvB,wBAAsB,WAAW,CAAC,IAAI,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAErH;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAGpG;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAExE;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE3F;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE3F;AAED,wBAAsB,KAAK,CAAC,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvF;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqHpH;AAED,iBAAe,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMtG;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B,wBAAsB,cAAc,CAAC,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQhG;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGrG;AAGD,wBAAsB,eAAe,CAAC,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQpG;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGnG;AAED,wBAAsB,KAAK,CAAC,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA4CvF;AAeD,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQxG"}
@@ -7,39 +7,39 @@ exports.getName = getName;
7
7
  exports.getText = getText;
8
8
  exports.clear = clear;
9
9
  exports.setValue = setValue;
10
+ exports.fetchElementRect = fetchElementRect;
10
11
  exports.getElementRect = getElementRect;
11
12
  exports.elementDisplayed = elementDisplayed;
12
13
  exports.elementSelected = elementSelected;
13
14
  exports.elementEnabled = elementEnabled;
14
15
  exports.click = click;
15
16
  exports.getElementScreenshot = getElementScreenshot;
16
- const conditions_1 = require("../server/conditions");
17
+ const powershell_1 = require("../powershell");
17
18
  const base_driver_1 = require("@appium/base-driver");
18
19
  const user32_1 = require("../winapi/user32");
19
20
  const enums_1 = require("../enums");
20
21
  const util_1 = require("../util");
21
22
  async function getProperty(propertyName, elementId) {
22
- return await this.sendCommand('getProperty', { elementId, property: propertyName });
23
+ return await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(elementId).buildGetPropertyCommand(propertyName));
23
24
  }
24
25
  async function getAttribute(propertyName, elementId) {
25
26
  this.log.warn('Warning: Use getProperty instead of getAttribute for retrieving element properties.');
26
27
  return await this.getProperty(propertyName, elementId);
27
28
  }
28
29
  async function active() {
29
- const elementId = await this.sendCommand('findElementFocused', {});
30
- return { [base_driver_1.W3C_ELEMENT_KEY]: elementId };
30
+ return { [base_driver_1.W3C_ELEMENT_KEY]: await this.sendPowerShellCommand(powershell_1.AutomationElement.focusedElement.buildCommand()) };
31
31
  }
32
32
  async function getName(elementId) {
33
- return await this.sendCommand('getTagName', { elementId });
33
+ return await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(elementId).buildGetTagNameCommand());
34
34
  }
35
35
  async function getText(elementId) {
36
- return await this.sendCommand('getText', { elementId });
36
+ return await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(elementId).buildGetTextCommand());
37
37
  }
38
38
  async function clear(elementId) {
39
- await this.sendCommand('setElementValue', { elementId, value: '' });
39
+ await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(elementId).buildSetValueCommand(''));
40
40
  }
41
41
  async function setValue(value, elementId) {
42
- await this.sendCommand('setFocus', { elementId });
42
+ await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(elementId).buildSetFocusCommand());
43
43
  const metaKeyStates = {
44
44
  shift: false,
45
45
  ctrl: false,
@@ -51,10 +51,8 @@ async function setValue(value, elementId) {
51
51
  }
52
52
  let keysToSend = [];
53
53
  const sendKeysAndResetArray = async () => {
54
- if (keysToSend.length > 0) {
55
- await this.sendCommand('sendKeys', { text: keysToSend.join('') });
56
- keysToSend = [];
57
- }
54
+ await this.sendPowerShellCommand(/* ps1 */ `[Windows.Forms.SendKeys]::SendWait(${new powershell_1.PSString(keysToSend.join(''))})`);
55
+ keysToSend = [];
58
56
  };
59
57
  for (const char of value) {
60
58
  switch (char) {
@@ -150,9 +148,16 @@ async function setValue(value, elementId) {
150
148
  }
151
149
  await sendKeysAndResetArray();
152
150
  }
151
+ async function fetchElementRect(driver, element) {
152
+ const json = await driver.sendPowerShellCommand(element.buildGetElementRectCommand());
153
+ if (!json) {
154
+ throw new base_driver_1.errors.NoSuchElementError();
155
+ }
156
+ return JSON.parse(json.replaceAll(/(?:infinity)/gi, 0x7FFFFFFF.toString()));
157
+ }
153
158
  async function getElementRect(elementId) {
154
- const rect = await this.sendCommand('getRect', { elementId });
155
- const rootRect = await this.sendCommand('getRootRect', {});
159
+ const rect = await fetchElementRect(this, new powershell_1.FoundAutomationElement(elementId));
160
+ const rootRect = await fetchElementRect(this, powershell_1.AutomationElement.automationRoot);
156
161
  rect.x -= rootRect.x;
157
162
  rect.y -= rootRect.y;
158
163
  rect.x = Math.min(0x7FFFFFFF, rect.x);
@@ -160,129 +165,75 @@ async function getElementRect(elementId) {
160
165
  return rect;
161
166
  }
162
167
  async function elementDisplayed(elementId) {
163
- const result = await this.sendCommand('getProperty', { elementId, property: 'IsOffscreen' });
164
- // UIA3 getProperty returns a JS boolean for bool-typed properties; the old
165
- // PowerShell/UIA1 path returned the stringified "True"/"False". Handle both.
166
- const isOffscreen = typeof result === 'boolean' ? result : String(result).toLowerCase() === 'true';
167
- return !isOffscreen;
168
+ const result = await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(elementId).buildGetPropertyCommand(powershell_1.Property.IS_OFFSCREEN));
169
+ return result.toLowerCase() === 'true' ? false : true;
168
170
  }
169
171
  // TODO: find better way to handle whether to use select or toggle
170
172
  async function elementSelected(elementId) {
171
173
  try {
172
- const result = await this.sendCommand('isElementSelected', { elementId });
173
- return result === true || String(result) === 'True';
174
+ const result = await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(elementId).buildIsSelectedCommand());
175
+ return result === 'True';
174
176
  }
175
177
  catch {
176
- const result = await this.sendCommand('getToggleState', { elementId });
178
+ const result = await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(elementId).buildGetToggleStateCommand());
177
179
  return result === 'On';
178
180
  }
179
181
  }
180
182
  async function elementEnabled(elementId) {
181
- const result = await this.sendCommand('getProperty', { elementId, property: 'IsEnabled' });
182
- return typeof result === 'boolean' ? result : String(result).toLowerCase() === 'true';
183
+ const result = await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(elementId).buildGetPropertyCommand(powershell_1.Property.IS_ENABLED));
184
+ return result.toLowerCase() === 'true' ? true : false;
183
185
  }
184
186
  async function click(elementId) {
185
187
  const easingFunction = this.caps.smoothPointerMove;
186
- // Detect menu items up-front — focusing an ancestor Pane/Window closes
187
- // the open popup, so subsequent ClickablePoint reads return stale coords
188
- // and the mouse click lands on empty space. WPF menus in particular lose
189
- // their dropdown on focus-change. Menu items don't need pre-focus anyway;
190
- // the mouseDown/mouseUp activates them directly.
191
- let controlType = '';
188
+ const element = new powershell_1.FoundAutomationElement(elementId);
189
+ const focusCondition = new powershell_1.AndCondition(new powershell_1.PropertyCondition(powershell_1.Property.IS_KEYBOARD_FOCUSABLE, new powershell_1.PSBoolean(true)), new powershell_1.OrCondition(new powershell_1.PropertyCondition(powershell_1.Property.CONTROL_TYPE, new powershell_1.PSControlType(powershell_1.ControlType.PANE)), new powershell_1.PropertyCondition(powershell_1.Property.CONTROL_TYPE, new powershell_1.PSControlType(powershell_1.ControlType.WINDOW))));
192
190
  try {
193
- controlType = await this.sendCommand('getProperty', { elementId, property: 'ControlType' });
191
+ const focusableElementId = await this.sendPowerShellCommand(element.findFirst(powershell_1.TreeScope.ANCESTORS_OR_SELF, focusCondition).buildCommand());
192
+ await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(focusableElementId.trim()).buildSetFocusCommand());
194
193
  }
195
194
  catch {
196
- // not fatal fall through, we just won't know the type
197
- }
198
- const isMenuItem = controlType === 'MenuItem' || controlType === 'Menu' || controlType === 'MenuBar';
199
- if (!isMenuItem) {
200
- const focusCondition = (0, conditions_1.andCondition)((0, conditions_1.propertyCondition)('IsKeyboardFocusable', true), (0, conditions_1.orCondition)((0, conditions_1.propertyCondition)('ControlType', 'Pane'), (0, conditions_1.propertyCondition)('ControlType', 'Window')));
201
- try {
202
- const focusableElementId = await this.sendCommand('findElement', {
203
- scope: 'ancestors-or-self',
204
- condition: focusCondition,
205
- contextElementId: elementId,
206
- });
207
- if (focusableElementId) {
208
- await this.sendCommand('setFocus', { elementId: focusableElementId.trim() });
209
- }
210
- }
211
- catch {
212
- // ignore if it fails, focus may fail if there is a forced popup window
213
- }
195
+ // ignore if it fails, focus may fail if there is a forced popup window
214
196
  }
215
197
  const coordinates = {
216
198
  x: undefined,
217
199
  y: undefined,
218
200
  };
219
201
  try {
220
- const clickablePoint = await this.sendCommand('getProperty', { elementId, property: 'ClickablePoint' });
202
+ const clickablePointJson = await this.sendPowerShellCommand(element.buildGetPropertyCommand(powershell_1.Property.CLICKABLE_POINT));
203
+ const clickablePoint = JSON.parse(clickablePointJson.replaceAll(/(?:infinity)/gi, 0x7FFFFFFF.toString()));
221
204
  coordinates.x = clickablePoint.x;
222
205
  coordinates.y = clickablePoint.y;
223
206
  }
224
207
  catch {
225
- const rect = await this.sendCommand('getRect', { elementId });
208
+ const rectJson = await this.sendPowerShellCommand(element.buildGetElementRectCommand());
209
+ const rect = JSON.parse(rectJson.replaceAll(/(?:infinity)/gi, 0x7FFFFFFF.toString()));
226
210
  coordinates.x = rect.x + rect.width / 2;
227
211
  coordinates.y = rect.y + rect.height / 2;
228
212
  }
229
- // Teleport for menu items (an interpolated path crosses sibling items and
230
- // WPF hover-opens their submenus mid-flight); non-menu callers can opt
231
- // into an interpolated path via delayBeforeClick + smoothPointerMove.
232
- const moveDuration = isMenuItem ? 0 : (this.caps.delayBeforeClick ?? 0);
233
- this.log.debug(`click(${elementId}) controlType=${controlType || '?'} coords=(${coordinates.x},${coordinates.y}) menu=${isMenuItem}`);
234
- await (0, user32_1.mouseMoveAbsolute)(coordinates.x, coordinates.y, moveDuration, easingFunction);
235
- if (isMenuItem) {
236
- // WPF ContextMenu items need the WM_MOUSEMOVE to be fully processed
237
- // before WM_LBUTTONDOWN arrives. Without this gap, the popup's hover
238
- // tracker hasn't yet marked the target as IsMouseOver, so the click
239
- // is routed to the popup background and silently dismissed.
240
- await (0, util_1.sleep)(100);
241
- // Re-check ClickablePoint: the popup can still be animating when the
242
- // initial coordinate read happened (observed 14 px y-drift between
243
- // consecutive runs of the same click, first one fast enough to catch
244
- // the popup mid-flight). If the coord moved meaningfully, re-teleport
245
- // to the final position; otherwise the stale coord lands on the
246
- // sibling item below/above the target.
247
- try {
248
- const refreshed = await this.sendCommand('getProperty', { elementId, property: 'ClickablePoint' });
249
- const drift = Math.abs(refreshed.x - coordinates.x) + Math.abs(refreshed.y - coordinates.y);
250
- if (drift > 2) {
251
- this.log.debug(`click(${elementId}) popup settled: (${coordinates.x},${coordinates.y}) → (${refreshed.x},${refreshed.y}) — re-teleporting`);
252
- coordinates.x = refreshed.x;
253
- coordinates.y = refreshed.y;
254
- await (0, user32_1.mouseMoveAbsolute)(coordinates.x, coordinates.y, 0, easingFunction);
255
- await (0, util_1.sleep)(100);
256
- }
257
- }
258
- catch {
259
- // ClickablePoint no longer available — fall through with the
260
- // original coords; better to click the old spot than skip.
261
- }
262
- const afterMovePos = (0, user32_1.getCursorPos)();
263
- if (afterMovePos) {
264
- const cursorDrift = Math.abs(afterMovePos.x - coordinates.x) + Math.abs(afterMovePos.y - coordinates.y);
265
- if (cursorDrift > 2) {
266
- this.log.warn(`click(${elementId}) cursor drift: wanted (${coordinates.x},${coordinates.y}), got (${afterMovePos.x},${afterMovePos.y})`);
267
- }
268
- else {
269
- this.log.debug(`click(${elementId}) cursor confirmed at (${afterMovePos.x},${afterMovePos.y})`);
270
- }
271
- }
272
- }
213
+ await (0, user32_1.mouseMoveAbsolute)(coordinates.x, coordinates.y, this.caps.delayBeforeClick ?? 0, easingFunction);
273
214
  (0, user32_1.mouseDown)();
274
215
  (0, user32_1.mouseUp)();
275
- // Post-click settle — FlaUI's Wait.UntilInputIsProcessed
276
- // (FlaUI.Core/Input/Wait.cs:19-25, Thread.Sleep(100)). Lets Windows
277
- // finish dispatching mouseDown/mouseUp before the next UIA call runs.
278
- const postClickSettleMs = isMenuItem ? 100 : 50;
279
- await (0, util_1.sleep)(this.caps.delayAfterClick ?? postClickSettleMs);
216
+ if (this.caps.delayAfterClick) {
217
+ await (0, util_1.sleep)(this.caps.delayAfterClick ?? 0);
218
+ }
280
219
  }
220
+ const GET_ELEMENT_SCREENSHOT_COMMAND = (0, powershell_1.pwsh$ /* ps1 */) `
221
+ $element = ${0}
222
+ $rect = $element.Current.BoundingRectangle
223
+ $bitmap = New-Object Drawing.Bitmap([int32]$rect.Width, [int32]$rect.Height)
224
+ $graphics = [Drawing.Graphics]::FromImage($bitmap)
225
+ $graphics.CopyFromScreen([int32]$rect.Left, [int32]$rect.Top, 0, 0, $bitmap.Size)
226
+ $graphics.Dispose()
227
+ $stream = New-Object IO.MemoryStream
228
+ $bitmap.Save($stream, [Drawing.Imaging.ImageFormat]::Png)
229
+ $bitmap.Dispose()
230
+ [Convert]::ToBase64String($stream.ToArray())
231
+ `;
281
232
  async function getElementScreenshot(elementId) {
282
- const rootId = (await this.sendCommand('saveRootElementToTable', {}))?.trim();
233
+ const rootId = (await this.sendPowerShellCommand(powershell_1.AutomationElement.automationRoot.buildCommand())).trim();
283
234
  if (!rootId) {
284
235
  throw new base_driver_1.errors.NoSuchWindowError('No active window found for this session.');
285
236
  }
286
- return await this.sendCommand('getElementScreenshot', { elementId });
237
+ return await this.sendPowerShellCommand(GET_ELEMENT_SCREENSHOT_COMMAND.format(new powershell_1.FoundAutomationElement(elementId)));
287
238
  }
288
239
  //# sourceMappingURL=element.js.map