appium-novawindows2-driver 0.2.3 → 0.2.5
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/LICENSE +201 -201
- package/README.md +554 -554
- package/build/lib/commands/app.js +35 -35
- package/build/lib/commands/element.d.ts.map +1 -1
- package/build/lib/commands/element.js +0 -3
- package/build/lib/commands/element.js.map +1 -1
- package/build/lib/commands/extension.js +26 -26
- package/build/lib/commands/file.js +22 -22
- package/build/lib/commands/functions.d.ts.map +1 -1
- package/build/lib/commands/functions.js +189 -215
- package/build/lib/commands/functions.js.map +1 -1
- package/build/lib/commands/index.d.ts.map +1 -1
- package/build/lib/commands/powershell.d.ts.map +1 -1
- package/build/lib/commands/powershell.js +27 -19
- package/build/lib/commands/powershell.js.map +1 -1
- package/build/lib/powershell/elements.d.ts.map +1 -1
- package/build/lib/powershell/elements.js +748 -768
- package/build/lib/powershell/elements.js.map +1 -1
- package/build/lib/powershell/msaa.js +96 -96
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +64 -63
- package/build/lib/temp/MSAAHelper.dll +0 -0
- package/build/lib/winapi/uia.d.ts +0 -163
- package/build/lib/winapi/uia.d.ts.map +0 -1
- package/build/lib/winapi/uia.js +0 -677
- package/build/lib/winapi/uia.js.map +0 -1
- package/build/lib/xpath/native.d.ts +0 -14
- package/build/lib/xpath/native.d.ts.map +0 -1
- package/build/lib/xpath/native.js +0 -329
- package/build/lib/xpath/native.js.map +0 -1
|
@@ -13,42 +13,42 @@ const powershell_1 = require("../powershell");
|
|
|
13
13
|
const util_1 = require("../util");
|
|
14
14
|
const base_driver_1 = require("@appium/base-driver");
|
|
15
15
|
const user32_1 = require("../winapi/user32");
|
|
16
|
-
const GET_PAGE_SOURCE_COMMAND = (0, powershell_1.pwsh$ /* ps1 */) `
|
|
17
|
-
$el = ${0}
|
|
18
|
-
|
|
19
|
-
if ($el -eq $null) {
|
|
20
|
-
$el = [AutomationElement]::RootElement
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
$source = Get-PageSource $el
|
|
24
|
-
if ($null -ne $source) {
|
|
25
|
-
$source.OuterXml
|
|
26
|
-
} else {
|
|
27
|
-
# Final fallback if even Get-PageSource fails for some reason
|
|
28
|
-
"<DummyRoot />"
|
|
29
|
-
}
|
|
16
|
+
const GET_PAGE_SOURCE_COMMAND = (0, powershell_1.pwsh$ /* ps1 */) `
|
|
17
|
+
$el = ${0}
|
|
18
|
+
|
|
19
|
+
if ($el -eq $null) {
|
|
20
|
+
$el = [AutomationElement]::RootElement
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
$source = Get-PageSource $el
|
|
24
|
+
if ($null -ne $source) {
|
|
25
|
+
$source.OuterXml
|
|
26
|
+
} else {
|
|
27
|
+
# Final fallback if even Get-PageSource fails for some reason
|
|
28
|
+
"<DummyRoot />"
|
|
29
|
+
}
|
|
30
30
|
`;
|
|
31
|
-
const GET_SCREENSHOT_COMMAND = (0, powershell_1.pwsh /* ps1 */) `
|
|
32
|
-
if ($rootElement -eq $null) {
|
|
33
|
-
$bitmap = New-Object Drawing.Bitmap 1,1
|
|
34
|
-
$stream = New-Object IO.MemoryStream
|
|
35
|
-
$bitmap.Save($stream, [Drawing.Imaging.ImageFormat]::Png)
|
|
36
|
-
$bitmap.Dispose()
|
|
37
|
-
return [Convert]::ToBase64String($stream.ToArray())
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
$rect = $rootElement.Current.BoundingRectangle
|
|
41
|
-
$bitmap = New-Object Drawing.Bitmap([int32]$rect.Width, [int32]$rect.Height)
|
|
42
|
-
|
|
43
|
-
$graphics = [Drawing.Graphics]::FromImage($bitmap)
|
|
44
|
-
$graphics.CopyFromScreen([int32]$rect.Left, [int32]$rect.Top, 0, 0, $bitmap.Size)
|
|
45
|
-
$graphics.Dispose()
|
|
46
|
-
|
|
47
|
-
$stream = New-Object IO.MemoryStream
|
|
48
|
-
$bitmap.Save($stream, [Drawing.Imaging.ImageFormat]::Png)
|
|
49
|
-
$bitmap.Dispose()
|
|
50
|
-
|
|
51
|
-
[Convert]::ToBase64String($stream.ToArray())
|
|
31
|
+
const GET_SCREENSHOT_COMMAND = (0, powershell_1.pwsh /* ps1 */) `
|
|
32
|
+
if ($rootElement -eq $null) {
|
|
33
|
+
$bitmap = New-Object Drawing.Bitmap 1,1
|
|
34
|
+
$stream = New-Object IO.MemoryStream
|
|
35
|
+
$bitmap.Save($stream, [Drawing.Imaging.ImageFormat]::Png)
|
|
36
|
+
$bitmap.Dispose()
|
|
37
|
+
return [Convert]::ToBase64String($stream.ToArray())
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
$rect = $rootElement.Current.BoundingRectangle
|
|
41
|
+
$bitmap = New-Object Drawing.Bitmap([int32]$rect.Width, [int32]$rect.Height)
|
|
42
|
+
|
|
43
|
+
$graphics = [Drawing.Graphics]::FromImage($bitmap)
|
|
44
|
+
$graphics.CopyFromScreen([int32]$rect.Left, [int32]$rect.Top, 0, 0, $bitmap.Size)
|
|
45
|
+
$graphics.Dispose()
|
|
46
|
+
|
|
47
|
+
$stream = New-Object IO.MemoryStream
|
|
48
|
+
$bitmap.Save($stream, [Drawing.Imaging.ImageFormat]::Png)
|
|
49
|
+
$bitmap.Dispose()
|
|
50
|
+
|
|
51
|
+
[Convert]::ToBase64String($stream.ToArray())
|
|
52
52
|
`;
|
|
53
53
|
async function getPageSource() {
|
|
54
54
|
return await this.sendPowerShellCommand(GET_PAGE_SOURCE_COMMAND.format(powershell_1.AutomationElement.automationRoot));
|
|
@@ -1 +1 @@
|
|
|
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,kBAAkB,EAAE,MAAM,WAAW,CAAC;
|
|
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,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAmB/C,wBAAsB,WAAW,CAAC,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEpH;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAKnG;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAEvE;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE1F;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE1F;AAED,wBAAsB,KAAK,CAAC,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtF;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyKnH;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/F;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGpG;AAGD,wBAAsB,eAAe,CAAC,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQnG;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGlG;AAED,wBAAsB,KAAK,CAAC,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA4CtF"}
|
|
@@ -245,9 +245,6 @@ async function click(elementId) {
|
|
|
245
245
|
}
|
|
246
246
|
catch {
|
|
247
247
|
const rectJson = await this.sendPowerShellCommand(element.buildGetElementRectCommand());
|
|
248
|
-
if (!rectJson || rectJson === '') {
|
|
249
|
-
throw new Error(`Element ${elementId} is not interactable: cannot determine clickable point or bounding rectangle.`);
|
|
250
|
-
}
|
|
251
248
|
const rect = JSON.parse(rectJson.replaceAll(/(?:infinity)/gi, 0x7FFFFFFF.toString()));
|
|
252
249
|
coordinates.x = rect.x + rect.width / 2;
|
|
253
250
|
coordinates.y = rect.y + rect.height / 2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element.js","sourceRoot":"","sources":["../../../lib/commands/element.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"element.js","sourceRoot":"","sources":["../../../lib/commands/element.ts"],"names":[],"mappings":"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"}
|
|
@@ -78,20 +78,20 @@ const AUTOMATION_ELEMENT_MODE = (0, util_1.$ /* ps1 */) `$cacheRequest.Pop(); $c
|
|
|
78
78
|
const SET_PLAINTEXT_CLIPBOARD_FROM_BASE64 = (0, util_1.$ /* ps1 */) `$bytes = [Convert]::FromBase64String('${0}'); $str = [System.Text.Encoding]::UTF8.GetString($bytes); Set-Clipboard -Value $str`;
|
|
79
79
|
const GET_PLAINTEXT_CLIPBOARD_BASE64 = /* ps1 */ `$str = Get-Clipboard | Out-String; if ($null -eq $str) { $str = '' }; [Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($str))`;
|
|
80
80
|
const SET_IMAGE_CLIPBOARD_FROM_BASE64 = (0, util_1.$ /* ps1 */) `$b = [Convert]::FromBase64String('${0}'); $s = New-Object IO.MemoryStream; $s.Write($b, 0, $b.Length); $s.Position = 0; $i = [System.Windows.Media.Imaging.BitmapFrame]::Create($s); [Windows.Clipboard]::SetImage($i); $s.Close()`;
|
|
81
|
-
const GET_IMAGE_CLIPBOARD_BASE64 = (0, powershell_1.pwsh /* ps1 */) `
|
|
82
|
-
[Windows.Clipboard]::GetImage() | ForEach-Object {
|
|
83
|
-
if ($_ -ne $null) {
|
|
84
|
-
$stream = New-Object IO.MemoryStream
|
|
85
|
-
$encoder = New-Object Windows.Media.Imaging.PngBitmapEncoder
|
|
86
|
-
$encoder.Frames.Add([Windows.Media.Imaging.BitmapFrame]::Create($_))
|
|
87
|
-
$encoder.Save($stream)
|
|
88
|
-
$stream.Position = 0
|
|
89
|
-
$bytes = $stream.ToArray()
|
|
90
|
-
$base64String = [Convert]::ToBase64String($bytes)
|
|
91
|
-
$stream.Close()
|
|
92
|
-
Write-Output $base64String
|
|
93
|
-
}
|
|
94
|
-
}
|
|
81
|
+
const GET_IMAGE_CLIPBOARD_BASE64 = (0, powershell_1.pwsh /* ps1 */) `
|
|
82
|
+
[Windows.Clipboard]::GetImage() | ForEach-Object {
|
|
83
|
+
if ($_ -ne $null) {
|
|
84
|
+
$stream = New-Object IO.MemoryStream
|
|
85
|
+
$encoder = New-Object Windows.Media.Imaging.PngBitmapEncoder
|
|
86
|
+
$encoder.Frames.Add([Windows.Media.Imaging.BitmapFrame]::Create($_))
|
|
87
|
+
$encoder.Save($stream)
|
|
88
|
+
$stream.Position = 0
|
|
89
|
+
$bytes = $stream.ToArray()
|
|
90
|
+
$base64String = [Convert]::ToBase64String($bytes)
|
|
91
|
+
$stream.Close()
|
|
92
|
+
Write-Output $base64String
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
95
|
`;
|
|
96
96
|
async function execute(script, args) {
|
|
97
97
|
if (script.startsWith(PLATFORM_COMMAND_PREFIX)) {
|
|
@@ -181,18 +181,18 @@ async function patternScrollIntoView(element) {
|
|
|
181
181
|
try {
|
|
182
182
|
// Manual repair using FindFirst with strict PS types to avoid marshalling issues
|
|
183
183
|
const idParts = elementId.split('.').join(',');
|
|
184
|
-
const repairScript = `
|
|
185
|
-
$targetIdArray = [int32[]]@(${idParts});
|
|
186
|
-
$cond = [System.Windows.Automation.PropertyCondition]::new([System.Windows.Automation.AutomationElement]::RuntimeIdProperty, $targetIdArray);
|
|
187
|
-
$found = [System.Windows.Automation.AutomationElement]::RootElement.FindFirst([System.Windows.Automation.TreeScope]::Descendants, $cond);
|
|
188
|
-
|
|
189
|
-
if ($null -ne $found) {
|
|
190
|
-
$runtimeId = $found.GetRuntimeId() -join '.';
|
|
191
|
-
if (-not $elementTable.ContainsKey($runtimeId)) {
|
|
192
|
-
$elementTable.Add($runtimeId, $found)
|
|
193
|
-
};
|
|
194
|
-
$runtimeId
|
|
195
|
-
}
|
|
184
|
+
const repairScript = `
|
|
185
|
+
$targetIdArray = [int32[]]@(${idParts});
|
|
186
|
+
$cond = [System.Windows.Automation.PropertyCondition]::new([System.Windows.Automation.AutomationElement]::RuntimeIdProperty, $targetIdArray);
|
|
187
|
+
$found = [System.Windows.Automation.AutomationElement]::RootElement.FindFirst([System.Windows.Automation.TreeScope]::Descendants, $cond);
|
|
188
|
+
|
|
189
|
+
if ($null -ne $found) {
|
|
190
|
+
$runtimeId = $found.GetRuntimeId() -join '.';
|
|
191
|
+
if (-not $elementTable.ContainsKey($runtimeId)) {
|
|
192
|
+
$elementTable.Add($runtimeId, $found)
|
|
193
|
+
};
|
|
194
|
+
$runtimeId
|
|
195
|
+
}
|
|
196
196
|
`;
|
|
197
197
|
const repairedId = await this.sendPowerShellCommand(repairScript);
|
|
198
198
|
if (repairedId && repairedId.trim() === elementId) {
|
|
@@ -7,13 +7,13 @@ async function pushFile(remotePath, base64Data) {
|
|
|
7
7
|
this.log.debug(`Pushing file to: ${remotePath}`);
|
|
8
8
|
// Escape single quotes in remotePath for PowerShell
|
|
9
9
|
const escapedPath = remotePath.replace(/'/g, "''");
|
|
10
|
-
const command = `
|
|
11
|
-
$targetPath = '${escapedPath}';
|
|
12
|
-
$base64String = '${base64Data}';
|
|
13
|
-
$parentDir = Split-Path -Path $targetPath -Parent;
|
|
14
|
-
if (-not (Test-Path -Path $parentDir)) { New-Item -ItemType Directory -Force -Path $parentDir | Out-Null };
|
|
15
|
-
$bytes = [Convert]::FromBase64String($base64String);
|
|
16
|
-
[System.IO.File]::WriteAllBytes($targetPath, $bytes);
|
|
10
|
+
const command = `
|
|
11
|
+
$targetPath = '${escapedPath}';
|
|
12
|
+
$base64String = '${base64Data}';
|
|
13
|
+
$parentDir = Split-Path -Path $targetPath -Parent;
|
|
14
|
+
if (-not (Test-Path -Path $parentDir)) { New-Item -ItemType Directory -Force -Path $parentDir | Out-Null };
|
|
15
|
+
$bytes = [Convert]::FromBase64String($base64String);
|
|
16
|
+
[System.IO.File]::WriteAllBytes($targetPath, $bytes);
|
|
17
17
|
`;
|
|
18
18
|
// Send the command to PowerShell
|
|
19
19
|
// We use sendPowerShellCommand to ensure it goes through the queue/lock mechanism
|
|
@@ -22,27 +22,27 @@ $bytes = [Convert]::FromBase64String($base64String);
|
|
|
22
22
|
async function pullFile(remotePath) {
|
|
23
23
|
this.log.debug(`Pulling file from: ${remotePath}`);
|
|
24
24
|
const escapedPath = remotePath.replace(/'/g, "''");
|
|
25
|
-
const command = `
|
|
26
|
-
$targetPath = '${escapedPath}';
|
|
27
|
-
if (-not (Test-Path -Path $targetPath -PathType Leaf)) { throw "File not found: $targetPath" };
|
|
28
|
-
$bytes = [System.IO.File]::ReadAllBytes($targetPath);
|
|
29
|
-
[Convert]::ToBase64String($bytes);
|
|
25
|
+
const command = `
|
|
26
|
+
$targetPath = '${escapedPath}';
|
|
27
|
+
if (-not (Test-Path -Path $targetPath -PathType Leaf)) { throw "File not found: $targetPath" };
|
|
28
|
+
$bytes = [System.IO.File]::ReadAllBytes($targetPath);
|
|
29
|
+
[Convert]::ToBase64String($bytes);
|
|
30
30
|
`;
|
|
31
31
|
return await this.sendPowerShellCommand(command);
|
|
32
32
|
}
|
|
33
33
|
async function pullFolder(remotePath) {
|
|
34
34
|
this.log.debug(`Pulling folder from: ${remotePath}`);
|
|
35
35
|
const escapedPath = remotePath.replace(/'/g, "''");
|
|
36
|
-
const command = `
|
|
37
|
-
$targetPath = '${escapedPath}';
|
|
38
|
-
$tempGuid = [Guid]::NewGuid().ToString();
|
|
39
|
-
$zipPath = Join-Path $env:TEMP "appium_$tempGuid.zip";
|
|
40
|
-
if (-not (Test-Path -Path $targetPath -PathType Container)) { throw "Folder not found: $targetPath" };
|
|
41
|
-
Compress-Archive -Path $targetPath -DestinationPath $zipPath -Force;
|
|
42
|
-
$bytes = [System.IO.File]::ReadAllBytes($zipPath);
|
|
43
|
-
$base64 = [Convert]::ToBase64String($bytes);
|
|
44
|
-
Remove-Item -Path $zipPath -Force;
|
|
45
|
-
$base64;
|
|
36
|
+
const command = `
|
|
37
|
+
$targetPath = '${escapedPath}';
|
|
38
|
+
$tempGuid = [Guid]::NewGuid().ToString();
|
|
39
|
+
$zipPath = Join-Path $env:TEMP "appium_$tempGuid.zip";
|
|
40
|
+
if (-not (Test-Path -Path $targetPath -PathType Container)) { throw "Folder not found: $targetPath" };
|
|
41
|
+
Compress-Archive -Path $targetPath -DestinationPath $zipPath -Force;
|
|
42
|
+
$bytes = [System.IO.File]::ReadAllBytes($zipPath);
|
|
43
|
+
$base64 = [Convert]::ToBase64String($bytes);
|
|
44
|
+
Remove-Item -Path $zipPath -Force;
|
|
45
|
+
$base64;
|
|
46
46
|
`;
|
|
47
47
|
return await this.sendPowerShellCommand(command);
|
|
48
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../../lib/commands/functions.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB,
|
|
1
|
+
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../../lib/commands/functions.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB,QAqErC,CAAC;AAEF,eAAO,MAAM,WAAW,QAwHvB,CAAC"}
|