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.
- package/README.md +2 -0
- package/build/eslint.config.d.mts +3 -0
- package/build/eslint.config.d.mts.map +1 -0
- package/build/eslint.config.mjs +22 -0
- package/build/eslint.config.mjs.map +1 -0
- package/build/lib/commands/actions.d.ts +3 -5
- package/build/lib/commands/actions.d.ts.map +1 -1
- package/build/lib/commands/actions.js +91 -83
- package/build/lib/commands/actions.js.map +1 -1
- package/build/lib/commands/app.d.ts +1 -53
- package/build/lib/commands/app.d.ts.map +1 -1
- package/build/lib/commands/app.js +147 -415
- package/build/lib/commands/app.js.map +1 -1
- package/build/lib/commands/device.d.ts +8 -0
- package/build/lib/commands/device.d.ts.map +1 -1
- package/build/lib/commands/device.js +229 -4
- package/build/lib/commands/device.js.map +1 -1
- package/build/lib/commands/element.d.ts +3 -0
- package/build/lib/commands/element.d.ts.map +1 -1
- package/build/lib/commands/element.js +53 -102
- package/build/lib/commands/element.js.map +1 -1
- package/build/lib/commands/extension.d.ts +0 -2
- package/build/lib/commands/extension.d.ts.map +1 -1
- package/build/lib/commands/extension.js +184 -111
- package/build/lib/commands/extension.js.map +1 -1
- package/build/lib/commands/index.d.ts +17 -28
- package/build/lib/commands/index.d.ts.map +1 -1
- package/build/lib/commands/index.js +2 -4
- package/build/lib/commands/index.js.map +1 -1
- package/build/lib/commands/powershell.d.ts +6 -0
- package/build/lib/commands/powershell.d.ts.map +1 -0
- package/build/lib/commands/powershell.js +202 -0
- package/build/lib/commands/powershell.js.map +1 -0
- 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 +24 -33
- package/build/lib/commands/screen-recorder.js.map +1 -1
- package/build/lib/constraints.d.ts +7 -26
- package/build/lib/constraints.d.ts.map +1 -1
- package/build/lib/constraints.js +6 -25
- package/build/lib/constraints.js.map +1 -1
- package/build/lib/driver.d.ts +13 -22
- package/build/lib/driver.d.ts.map +1 -1
- package/build/lib/driver.js +49 -130
- package/build/lib/driver.js.map +1 -1
- package/build/lib/mcp/tools/index.d.ts.map +1 -1
- package/build/lib/mcp/tools/index.js +0 -2
- 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 +0 -7
- package/build/lib/powershell/conditions.js.map +1 -1
- package/build/lib/util.d.ts +1 -11
- package/build/lib/util.d.ts.map +1 -1
- package/build/lib/util.js +7 -158
- package/build/lib/util.js.map +1 -1
- package/build/lib/winapi/user32.d.ts +6 -5
- package/build/lib/winapi/user32.d.ts.map +1 -1
- package/build/lib/winapi/user32.js +88 -131
- package/build/lib/winapi/user32.js.map +1 -1
- package/build/lib/xpath/core.d.ts +4 -10
- package/build/lib/xpath/core.d.ts.map +1 -1
- package/build/lib/xpath/core.js +224 -205
- package/build/lib/xpath/core.js.map +1 -1
- package/build/lib/xpath/functions.d.ts +2 -7
- package/build/lib/xpath/functions.d.ts.map +1 -1
- package/build/lib/xpath/functions.js +25 -49
- package/build/lib/xpath/functions.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -0
- package/package.json +12 -18
- package/CHANGELOG.md +0 -249
- package/build/lib/commands/contexts.d.ts +0 -64
- package/build/lib/commands/contexts.d.ts.map +0 -1
- package/build/lib/commands/contexts.js +0 -166
- package/build/lib/commands/contexts.js.map +0 -1
- package/build/lib/commands/server-session.d.ts +0 -9
- package/build/lib/commands/server-session.d.ts.map +0 -1
- package/build/lib/commands/server-session.js +0 -158
- package/build/lib/commands/server-session.js.map +0 -1
- package/build/lib/log-file.d.ts +0 -10
- package/build/lib/log-file.d.ts.map +0 -1
- package/build/lib/log-file.js +0 -86
- package/build/lib/log-file.js.map +0 -1
- package/build/lib/mcp/tools/context.d.ts +0 -4
- package/build/lib/mcp/tools/context.d.ts.map +0 -1
- package/build/lib/mcp/tools/context.js +0 -49
- package/build/lib/mcp/tools/context.js.map +0 -1
- package/build/lib/server/client.d.ts +0 -15
- package/build/lib/server/client.d.ts.map +0 -1
- package/build/lib/server/client.js +0 -169
- package/build/lib/server/client.js.map +0 -1
- package/build/lib/server/conditions.d.ts +0 -13
- package/build/lib/server/conditions.d.ts.map +0 -1
- package/build/lib/server/conditions.js +0 -71
- package/build/lib/server/conditions.js.map +0 -1
- package/build/lib/server/converter-bridge.d.ts +0 -26
- package/build/lib/server/converter-bridge.d.ts.map +0 -1
- package/build/lib/server/converter-bridge.js +0 -171
- package/build/lib/server/converter-bridge.js.map +0 -1
- package/build/lib/server/index.d.ts +0 -5
- package/build/lib/server/index.d.ts.map +0 -1
- package/build/lib/server/index.js +0 -25
- package/build/lib/server/index.js.map +0 -1
- package/build/lib/server/protocol.d.ts +0 -40
- package/build/lib/server/protocol.d.ts.map +0 -1
- package/build/lib/server/protocol.js +0 -3
- package/build/lib/server/protocol.js.map +0 -1
- package/build/lib/version.d.ts +0 -2
- package/build/lib/version.d.ts.map +0 -1
- package/build/lib/version.js +0 -20
- package/build/lib/version.js.map +0 -1
- 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":"
|
|
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
|
|
7
|
-
|
|
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":";;
|
|
1
|
+
{"version":3,"file":"device.js","sourceRoot":"","sources":["../../../lib/commands/device.ts"],"names":[],"mappings":";;AAaA,sCAGC;AAWD,4BAOC;AAID,4BAIC;AAaD,gCAIC;AAyBD,oCAQC;AAoBD,0CAGC;AAID,kCAqCC;AAED,oCA8EC;AAED,wCA2BC;AAzQD,yCAAsC;AACtC,qDAA6C;AAE7C,8CAAsD;AACtD,4CAAiD;AACjD,kCAA4C;AAE5C,MAAM,0BAA0B,GAAG,GAAG,CAAC;AACvC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAEpC,MAAM,uBAAuB,GAAG,IAAA,kBAAK,CAAC,SAAS,EAAC,uBAAuB,CAAC,GAAG,CAAC;AAC5E,MAAM,eAAe,GAAG,wBAAwB,CAAC;AAE1C,KAAK,UAAU,aAAa,CAA4B,UAAmB,EAAE,MAAe;IAC/F,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,qBAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,eAAe,GAAG,CAAC;IAC9E,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,gFAAgF;AAEhF,MAAM,iBAAiB,GAAG,IAAA,kBAAK,CAAC,SAAS,EAAC;cAC5B,CAAC;;;kEAGmD,CAAC;CAClE,CAAC;AAEK,KAAK,UAAU,QAAQ,CAA4B,IAAY,EAAE,IAAY;IAChF,IAAI,CAAC,oBAAoB,CAAC,6BAAiB,CAAC,CAAC;IAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;QAAA,MAAM,IAAI,oBAAM,CAAC,oBAAoB,CAAC,0BAA0B,CAAC,CAAC;IAAA,CAAC;IAC/E,IAAI,CAAC,IAAI,EAAE,CAAC;QAAA,MAAM,IAAI,oBAAM,CAAC,oBAAoB,CAAC,0BAA0B,CAAC,CAAC;IAAA,CAAC;IAC/E,MAAM,IAAI,CAAC,qBAAqB,CAC5B,iBAAiB,CAAC,MAAM,CAAC,IAAI,qBAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,qBAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CACzF,CAAC;AACN,CAAC;AAED,MAAM,iBAAiB,GAAG,IAAA,kBAAK,CAAC,SAAS,EAAC,qDAAqD,CAAC,IAAI,CAAC;AAE9F,KAAK,UAAU,QAAQ,CAA4B,IAAY;IAClE,IAAI,CAAC,oBAAoB,CAAC,6BAAiB,CAAC,CAAC;IAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;QAAA,MAAM,IAAI,oBAAM,CAAC,oBAAoB,CAAC,0BAA0B,CAAC,CAAC;IAAA,CAAC;IAC/E,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,qBAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AACrG,CAAC;AAED,MAAM,mBAAmB,GAAG,IAAA,kBAAK,CAAC,SAAS,EAAC;iBAC3B,CAAC;;;;;;;;CAQjB,CAAC;AAEK,KAAK,UAAU,UAAU,CAA4B,IAAY;IACpE,IAAI,CAAC,oBAAoB,CAAC,6BAAiB,CAAC,CAAC;IAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;QAAA,MAAM,IAAI,oBAAM,CAAC,oBAAoB,CAAC,0BAA0B,CAAC,CAAC;IAAA,CAAC;IAC/E,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,qBAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AACvG,CAAC;AAED,gFAAgF;AAEhF,MAAM,qBAAqB,GAAG,IAAA,iBAAI,CAAC,SAAS,EAAC;;;;;;;;;;;;;;;;;;;CAmB5C,CAAC;AAEK,KAAK,UAAU,YAAY,CAE9B,SAAkB,EAClB,IAAa,EACb,QAAiB,EACjB,QAAiB;IAEjB,MAAM,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,yBAAyB,GAAG,IAAA,iBAAI,CAAC,SAAS,EAAC;;;;;;;;;;;;;;;;CAgBhD,CAAC;AAEK,KAAK,UAAU,eAAe;IACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,yBAAyB,CAAC,CAAC;IAC3E,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;AAClD,CAAC;AAED,gFAAgF;AAEzE,KAAK,UAAU,WAAW,CAE7B,KAAa,EACb,QAAkC;IAElC,IAAI,CAAC,KAAK,EAAE,CAAC;QAAA,MAAM,IAAI,oBAAM,CAAC,oBAAoB,CAAC,yCAAyC,CAAC,CAAC;IAAA,CAAC;IAE/F,MAAM,KAAK,GAAG,IAAA,iBAAU,EAAC,KAAK,CAAC,CAAC;IAChC,IAAI,KAAK,EAAE,CAAC;QACR,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACpC,OAAO;IACX,CAAC;IAED,MAAM,cAAc,GAAG,IAAA,qBAAS,EAAC,KAAK,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACpF,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAE7G,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,qBAAqB;IAC9C,SAAS,CAAC,uBAAuB,WAAW,kGAAkG,CACjJ,CAAC;IACF,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAE7C,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,qBAAqB;QACjD,SAAS,CAAC,oBAAoB,WAAW,kDAAkD,CAC9F,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACrC,OAAO;QACX,CAAC;QACD,MAAM,IAAI,CAAC,yBAAyB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QACpD,OAAO;IACX,CAAC;IAED,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC;AAEM,KAAK,UAAU,YAAY,CAE9B,KAAa,EACb,QAAkC;IAElC,IAAI,CAAC,KAAK,EAAE,CAAC;QAAA,MAAM,IAAI,oBAAM,CAAC,oBAAoB,CAAC,yCAAyC,CAAC,CAAC;IAAA,CAAC;IAE/F,MAAM,KAAK,GAAG,IAAA,iBAAU,EAAC,KAAK,CAAC,CAAC;IAEhC,IAAI,MAAe,CAAC;IACpB,IAAI,KAAK,EAAE,CAAC;QACR,MAAM,UAAU,GAAG,IAAI,qBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAChE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,qBAAqB;QAChD,SAAS,CAAC;+EACyD,UAAU;;;;aAI5E,CACJ,CAAC;QACF,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACnF,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,IAAI,CAAC,qBAAqB;QAC5B,SAAS,CAAC,oBAAoB,IAAI,uCAAuC,CAC5E,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC;QACnD,MAAM,GAAG,KAAK,CAAC;QACf,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC3B,MAAM,IAAA,YAAK,EAAC,0BAA0B,CAAC,CAAC;YACxC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,qBAAqB;YACjD,SAAS,CAAC;mFACyD,UAAU;;iBAE5E,CACJ,CAAC;YACF,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;gBAC/C,MAAM,GAAG,IAAI,CAAC;gBACd,MAAM;YACV,CAAC;QACL,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,MAAM,cAAc,GAAG,IAAA,qBAAS,EAAC,KAAK,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACpF,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAE7G,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,qBAAqB;QAChD,SAAS,CAAC,+BAA+B,WAAW,oJAAoJ,CAC3M,CAAC;QACF,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACnF,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,IAAI,CAAC,qBAAqB;QAC5B,SAAS,CAAC,oBAAoB,IAAI,uCAAuC,CAC5E,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC;QACnD,MAAM,GAAG,KAAK,CAAC;QACf,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC3B,MAAM,IAAA,YAAK,EAAC,0BAA0B,CAAC,CAAC;YACxC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,qBAAqB;YACjD,SAAS,CAAC,uBAAuB,WAAW,8CAA8C,CAC7F,CAAC;YACF,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;gBAC/C,MAAM,GAAG,IAAI,CAAC;gBACd,MAAM;YACV,CAAC;QACL,CAAC;IACL,CAAC;IAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACnF,OAAO,MAAM,CAAC;AAClB,CAAC;AAEM,KAAK,UAAU,cAAc,CAA4B,KAAa;IACzE,IAAI,CAAC,KAAK,EAAE,CAAC;QAAA,MAAM,IAAI,oBAAM,CAAC,oBAAoB,CAAC,yCAAyC,CAAC,CAAC;IAAA,CAAC;IAE/F,MAAM,KAAK,GAAG,IAAA,iBAAU,EAAC,KAAK,CAAC,CAAC;IAChC,IAAI,KAAK,EAAE,CAAC;QACR,MAAM,UAAU,GAAG,IAAI,qBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB;QAC3C,SAAS,CAAC,mEAAmE,UAAU,8CAA8C,CACxI,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;IAClD,CAAC;IAED,MAAM,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrE,IAAI,gBAAgB,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,IAAI,qBAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB;QAC3C,SAAS,CAAC,8BAA8B,QAAQ,+BAA+B,CAClF,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;IAClD,CAAC;IAED,kCAAkC;IAClC,MAAM,QAAQ,GAAG,IAAI,qBAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB;IAC3C,SAAS,CAAC,yBAAyB,QAAQ,6DAA6D,CAC3G,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;AAClD,CAAC;AAED,wBAAwB;AACxB,kEAAkE;AAElE,uBAAuB;AACvB,gFAAgF"}
|
|
@@ -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":"
|
|
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
|
|
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.
|
|
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
|
-
|
|
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.
|
|
33
|
+
return await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(elementId).buildGetTagNameCommand());
|
|
34
34
|
}
|
|
35
35
|
async function getText(elementId) {
|
|
36
|
-
return await this.
|
|
36
|
+
return await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(elementId).buildGetTextCommand());
|
|
37
37
|
}
|
|
38
38
|
async function clear(elementId) {
|
|
39
|
-
await this.
|
|
39
|
+
await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(elementId).buildSetValueCommand(''));
|
|
40
40
|
}
|
|
41
41
|
async function setValue(value, elementId) {
|
|
42
|
-
await this.
|
|
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
|
-
|
|
55
|
-
|
|
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
|
|
155
|
-
const rootRect = await this
|
|
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.
|
|
164
|
-
|
|
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.
|
|
173
|
-
return result ===
|
|
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.
|
|
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.
|
|
182
|
-
return
|
|
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
|
-
|
|
187
|
-
|
|
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
|
-
|
|
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
|
-
//
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
276
|
-
|
|
277
|
-
|
|
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.
|
|
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.
|
|
237
|
+
return await this.sendPowerShellCommand(GET_ELEMENT_SCREENSHOT_COMMAND.format(new powershell_1.FoundAutomationElement(elementId)));
|
|
287
238
|
}
|
|
288
239
|
//# sourceMappingURL=element.js.map
|