appium-novawindows2-driver 1.0.9 → 1.1.0

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 (32) hide show
  1. package/README.md +44 -21
  2. package/build/lib/commands/extension.d.ts +3 -3
  3. package/build/lib/commands/extension.d.ts.map +1 -1
  4. package/build/lib/commands/extension.js +70 -29
  5. package/build/lib/commands/extension.js.map +1 -1
  6. package/build/lib/commands/index.d.ts +3 -3
  7. package/build/lib/commands/index.d.ts.map +1 -1
  8. package/build/lib/commands/powershell.d.ts.map +1 -1
  9. package/build/lib/commands/powershell.js +17 -3
  10. package/build/lib/commands/powershell.js.map +1 -1
  11. package/build/lib/commands/screen-recorder.d.ts.map +1 -1
  12. package/build/lib/commands/screen-recorder.js +2 -8
  13. package/build/lib/commands/screen-recorder.js.map +1 -1
  14. package/build/lib/powershell/converter.d.ts.map +1 -1
  15. package/build/lib/powershell/converter.js +18 -11
  16. package/build/lib/powershell/converter.js.map +1 -1
  17. package/build/lib/powershell/elements.d.ts +6 -0
  18. package/build/lib/powershell/elements.d.ts.map +1 -1
  19. package/build/lib/powershell/elements.js +37 -1
  20. package/build/lib/powershell/elements.js.map +1 -1
  21. package/build/lib/winapi/user32.d.ts +1 -0
  22. package/build/lib/winapi/user32.d.ts.map +1 -1
  23. package/build/lib/winapi/user32.js +6 -0
  24. package/build/lib/winapi/user32.js.map +1 -1
  25. package/build/lib/xpath/core.d.ts.map +1 -1
  26. package/build/lib/xpath/core.js +39 -2
  27. package/build/lib/xpath/core.js.map +1 -1
  28. package/build/lib/xpath/functions.d.ts.map +1 -1
  29. package/build/lib/xpath/functions.js +10 -3
  30. package/build/lib/xpath/functions.js.map +1 -1
  31. package/build/tsconfig.tsbuildinfo +1 -1
  32. package/package.json +6 -4
package/README.md CHANGED
@@ -40,9 +40,12 @@ appium driver install --source=npm appium-novawindows2-driver
40
40
  ```
41
41
 
42
42
  ### Prerequisites
43
- - **Host OS**: Windows 10 or later.
43
+ - **Host OS**: Windows 10 or later (x64, ARM64 supported).
44
44
  - No Developer Mode or extra dependencies required.
45
45
 
46
+ > [!NOTE]
47
+ > **ARM Support**: The driver is compatible with ARM-based Windows. However, the **Screen Recording** feature is currently only supported on x64 due to `ffmpeg-static` limitations.
48
+
46
49
  ---
47
50
 
48
51
  ## ⚙️ Configuration
@@ -113,11 +116,28 @@ Appium Windows Driver supports the same location strategies [the WinAppDriver su
113
116
  ### Attribute Retrieval
114
117
  Retrieve comprehensive details about UI elements using standard or bulk methods.
115
118
 
116
- - **Bulk Retrieval**: Use the `"all"` keyword to get 80+ properties in a single JSON object.
117
- - **Dotted Names**: Access pattern-specific properties directly (e.g., `Window.CanMaximize`, `LegacyIAccessible.Name`).
118
-
119
- ```python
120
- # getAttributes returns all properties as a JSON string
119
+ #### Supported Attributes
120
+ - **Standard UIA Properties**: `AutomationId`, `Name`, `ClassName`, `RuntimeId`, `ControlType`, `IsEnabled`, `IsOffscreen`, and all other direct UIA properties.
121
+ - **Pattern-Specific Properties**: Use dot-notation (`Pattern.Property`) to access pattern members, for example:
122
+ - `Value.Value`, `Value.IsReadOnly`
123
+ - `Window.CanMaximize`, `Window.CanMinimize`, `Window.WindowVisualState`
124
+ - `Toggle.ToggleState`
125
+ - `ExpandCollapse.ExpandCollapseState`
126
+ - `Selection.Selection`, `Selection.CanSelectMultiple`
127
+ - *Includes support for 20+ UIA patterns.*
128
+ - **Legacy Properties (MSAA Fallback)**:
129
+ - **Shorthand Aliases**: `legacyname`, `legacyvalue`, `legacyrole`, `legacystate`, `legacydescription`, `legacyhelp`, `legacykeyboardshortcut`, `legacydefaultaction`, `legacychildid`.
130
+ - **Dot-Notation**: `LegacyIAccessible.Name`, `LegacyIAccessible.Role`, etc.
131
+ - **Special Keywords**:
132
+ - `"all"`: Returns all attributes.
133
+ - **Enhanced Type Names**:
134
+ - `ControlType` returns a human-readable short name (e.g., `Button`, `ListItem`, `Text`) instead of the UIA constant.
135
+
136
+ ```python
137
+ # List specific attribute
138
+ value = element.get_attribute("Value.Value")
139
+
140
+ # Get all attributes as a JSON string
121
141
  all_attributes = element.get_attribute("all")
122
142
  ```
123
143
 
@@ -161,9 +181,9 @@ This is a shortcut for a single mouse click gesture.
161
181
 
162
182
  | Name | Type | Required | Description | Example |
163
183
  | :--- | :--- | :--- | :--- | :--- |
164
- | `elementId` | `string` | no | Hexadecimal identifier of the element to click on. If this parameter is missing then given coordinates will be parsed as absolute ones. Otherwise they are parsed as relative to the top left corner of this element. | `123e4567-e89b...` |
165
- | `x` | `number` | no | Integer horizontal coordinate of the click point. Both x and y coordinates must be provided or none of them if elementId is present. | `100` |
166
- | `y` | `number` | no | Integer vertical coordinate of the click point. Both x and y coordinates must be provided or none of them if elementId is present. | `100` |
184
+ | `elementId` | `string` | no | Hexadecimal identifier of the element to click on. If this parameter and coordinates are missing, the command uses the current cursor position. If `elementId` is present without coordinates, it clicks the center of the element. | `123e4567-e89b...` |
185
+ | `x` | `number` | no | Integer horizontal coordinate of the click point. If omitted (along with `elementId`), the current cursor position is used. If `elementId` is present, `x` is an offset from the element's top-left corner. | `100` |
186
+ | `y` | `number` | no | Integer vertical coordinate of the click point. If omitted (along with `elementId`), the current cursor position is used. If `elementId` is present, `y` is an offset from the element's top-left corner. | `100` |
167
187
  | `button` | `string` | no | Name of the mouse button to be clicked. Supported button names are: `left`, `middle`, `right`, `back`, `forward`. The default value is `left`. | `right` |
168
188
  | `modifierKeys` | `string[]` \| `string` | no | List of possible keys or a single key name to depress while the click is being performed. Supported key names are: `Shift`, `Ctrl`, `Alt`, `Win`. | `['ctrl', 'alt']` |
169
189
  | `durationMs` | `number` | no | The number of milliseconds to wait between pressing and releasing the mouse button. By default no delay is applied. | `500` |
@@ -204,12 +224,12 @@ Performs a click-and-drag gesture.
204
224
 
205
225
  | Name | Type | Required | Description | Example |
206
226
  | :--- | :--- | :--- | :--- | :--- |
207
- | `startElementId` | `string` | no | Hexadecimal identifier of the start element. Either this OR both `startX` and `startY` must be provided. | `123e4567-e89b...` |
208
- | `startX` | `number` | no | Horizontal coordinate of the start point. Required if `startElementId` is missing. | `100` |
209
- | `startY` | `number` | no | Vertical coordinate of the start point. Required if `startElementId` is missing. | `100` |
210
- | `endElementId` | `string` | no | Hexadecimal identifier of the end element. Either this OR both `endX` and `endY` must be provided. | `123e4567-e89b...` |
211
- | `endX` | `number` | no | Horizontal coordinate of the end point. Required if `endElementId` is missing. | `200` |
212
- | `endY` | `number` | no | Vertical coordinate of the end point. Required if `endElementId` is missing. | `200` |
227
+ | `startElementId` | `string` | no | Hexadecimal identifier of the start element. If this and start coordinates are missing, the current cursor position is used. | `123e4567-e89b...` |
228
+ | `startX` | `number` | no | Horizontal coordinate of the start point. If omitted (along with `startElementId`), the current cursor position is used. | `100` |
229
+ | `startY` | `number` | no | Vertical coordinate of the start point. If omitted (along with `startElementId`), the current cursor position is used. | `100` |
230
+ | `endElementId` | `string` | no | Hexadecimal identifier of the end element. If this and end coordinates are missing, the current cursor position is used. | `123e4567-e89b...` |
231
+ | `endX` | `number` | no | Horizontal coordinate of the end point. If omitted (along with `endElementId`), the current cursor position is used. | `200` |
232
+ | `endY` | `number` | no | Vertical coordinate of the end point. If omitted (along with `endElementId`), the current cursor position is used. | `200` |
213
233
  | `durationMs` | `number` | no | Duration of the drag in milliseconds. Default is `1000`. | `2000` |
214
234
  | `button` | `string` | no | Mouse button to use (`left`, `right`, `middle`). Default is `left`. | `right` |
215
235
  | `smoothPointerMove` | `string` | no | CSS-like easing function (e.g., `linear`, `ease-out`) for smooth movement. Default is `None`. | `linear` |
@@ -254,9 +274,9 @@ This is a shortcut for a mouse wheel scroll gesture. The API is a thin wrapper o
254
274
 
255
275
  | Name | Type | Required | Description | Example |
256
276
  | :--- | :--- | :--- | :--- | :--- |
257
- | `elementId` | `string` | no | Same as in `windows: click`. | `123e4567-e89b...` |
258
- | `x` | `number` | no | Same as in `windows: click`. | `100` |
259
- | `y` | `number` | no | Same as in `windows: click`. | `100` |
277
+ | `elementId` | `string` | no | Same as in `windows: click`. Falls back to the current cursor position if omitted along with coordinates. | `123e4567-e89b...` |
278
+ | `x` | `number` | no | Same as in `windows: click`. Falls back to the current cursor position if omitted along with `elementId`. | `100` |
279
+ | `y` | `number` | no | Same as in `windows: click`. Falls back to the current cursor position if omitted along with `elementId`. | `100` |
260
280
  | `deltaX` | `number` | no | The amount of horizontal wheel movement measured in wheel clicks. Positive = right, Negative = left. | `-5` |
261
281
  | `deltaY` | `number` | no | The amount of vertical wheel movement. Positive = forward (away), Negative = backward (toward). | `5` |
262
282
  | `modifierKeys` | `string[]` \| `string` | no | Same as in `windows: click`. | `win` |
@@ -275,9 +295,9 @@ This is a shortcut for a hover gesture.
275
295
 
276
296
  | Name | Type | Required | Description | Example |
277
297
  | :--- | :--- | :--- | :--- | :--- |
278
- | `startElementId` | `string` | no | Same as in `windows: click`. | `123e4567-e89b...` |
279
- | `startX` | `number` | no | Same as in `windows: click`. | `100` |
280
- | `startY` | `number` | no | Same as in `windows: click`. | `100` |
298
+ | `startElementId` | `string` | no | Same as in `windows: click`. Falls back to current cursor position if omitted along with coordinates. | `123e4567-e89b...` |
299
+ | `startX` | `number` | no | Same as in `windows: click`. Falls back to current cursor position if omitted along with `startElementId`. | `100` |
300
+ | `startY` | `number` | no | Same as in `windows: click`. Falls back to current cursor position if omitted along with `startElementId`. | `100` |
281
301
  | `endElementId` | `string` | no | Same as in `windows: click`. | `123e4567-e89b...` |
282
302
  | `endX` | `number` | no | Same as in `windows: click`. | `200` |
283
303
  | `endY` | `number` | no | Same as in `windows: click`. | `200` |
@@ -667,6 +687,9 @@ Starts screen recording using ffmpeg.
667
687
  | `captureCursor` | `boolean` | no | Whether to capture mouse cursor. | `true` |
668
688
  | `captureClicks` | `boolean` | no | Whether to capture mouse clicks. | `true` |
669
689
 
690
+ > [!IMPORTANT]
691
+ > This feature requires `ffmpeg-static`. It is currently **not supported** on ARM architecture.
692
+
670
693
  #### `windows: stopRecordingScreen`
671
694
  Stops screen recording and returns the video as base64 string.
672
695
 
@@ -57,7 +57,7 @@ export declare function executeKeys(this: NovaWindows2Driver, keyActions: {
57
57
  actions: KeyAction | KeyAction[];
58
58
  forceUnicode: boolean;
59
59
  }): Promise<void>;
60
- export declare function executeClick(this: NovaWindows2Driver, clickArgs: {
60
+ export declare function executeClick(this: NovaWindows2Driver, clickArgs?: {
61
61
  elementId?: string;
62
62
  x?: number;
63
63
  y?: number;
@@ -67,7 +67,7 @@ export declare function executeClick(this: NovaWindows2Driver, clickArgs: {
67
67
  times?: number;
68
68
  interClickDelayMs?: number;
69
69
  }): Promise<void>;
70
- export declare function executeHover(this: NovaWindows2Driver, hoverArgs: {
70
+ export declare function executeHover(this: NovaWindows2Driver, hoverArgs?: {
71
71
  startElementId?: string;
72
72
  startX?: number;
73
73
  startY?: number;
@@ -77,7 +77,7 @@ export declare function executeHover(this: NovaWindows2Driver, hoverArgs: {
77
77
  modifierKeys?: ('shift' | 'ctrl' | 'alt' | 'win') | ('shift' | 'ctrl' | 'alt' | 'win')[];
78
78
  durationMs?: number;
79
79
  }): Promise<void>;
80
- export declare function executeScroll(this: NovaWindows2Driver, scrollArgs: {
80
+ export declare function executeScroll(this: NovaWindows2Driver, scrollArgs?: {
81
81
  elementId?: string;
82
82
  x?: number;
83
83
  y?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../../lib/commands/extension.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../../lib/commands/extension.ts"],"names":[],"mappings":"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"}
@@ -381,10 +381,15 @@ async function executeKeys(keyActions) {
381
381
  }
382
382
  }
383
383
  }
384
- async function executeClick(clickArgs) {
384
+ async function executeClick(clickArgs = {}) {
385
385
  const { elementId, x, y, button = enums_1.ClickType.LEFT, modifierKeys = [], durationMs = 0, times = 1, interClickDelayMs = 100, } = clickArgs;
386
386
  if (!elementId && (x == null || y == null)) {
387
- throw new base_driver_1.errors.InvalidArgumentError('Either elementId or both x and y must be provided.');
387
+ if (x != null || y != null) {
388
+ throw new base_driver_1.errors.InvalidArgumentError('Both x and y must be provided if one is provided.');
389
+ }
390
+ else {
391
+ this.log.info('No coordinates or element provided. Using current cursor position for click.');
392
+ }
388
393
  }
389
394
  let pos;
390
395
  if (elementId) {
@@ -403,10 +408,12 @@ async function executeClick(clickArgs) {
403
408
  rect.y + (y ?? Math.trunc(rect.height / 2)),
404
409
  ];
405
410
  }
406
- else {
407
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
411
+ else if (x != null && y != null) {
408
412
  pos = [x, y];
409
413
  }
414
+ else {
415
+ pos = (0, user32_1.getCursorPosition)();
416
+ }
410
417
  const clickTypeToButtonMapping = {
411
418
  [enums_1.ClickType.LEFT]: 0,
412
419
  [enums_1.ClickType.MIDDLE]: 1,
@@ -455,13 +462,15 @@ async function executeClick(clickArgs) {
455
462
  await (0, util_1.sleep)(this.caps.delayAfterClick ?? 0);
456
463
  }
457
464
  }
458
- async function executeHover(hoverArgs) {
465
+ async function executeHover(hoverArgs = {}) {
459
466
  const { startElementId, startX, startY, endElementId, endX, endY, modifierKeys = [], durationMs = 500, } = hoverArgs;
460
467
  if (!startElementId && (startX == null || startY == null)) {
461
- throw new base_driver_1.errors.InvalidArgumentError('Either startElementId or both startX and startY must be provided.');
462
- }
463
- if (!endElementId && (endX == null || endY == null)) {
464
- throw new base_driver_1.errors.InvalidArgumentError('Either endElementId or both endX and endY must be provided.');
468
+ if (startX != null || startY != null) {
469
+ throw new base_driver_1.errors.InvalidArgumentError('Both startX and startY must be provided if one is provided.');
470
+ }
471
+ else {
472
+ this.log.info('No start coordinates or element provided. Using current cursor position for hover start.');
473
+ }
465
474
  }
466
475
  const processesModifierKeys = Array.isArray(modifierKeys) ? modifierKeys : [modifierKeys];
467
476
  let startPos;
@@ -481,10 +490,13 @@ async function executeHover(hoverArgs) {
481
490
  rect.y + (startY ?? Math.trunc(rect.height / 2))
482
491
  ];
483
492
  }
484
- else {
485
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
493
+ else if (startX != null && startY != null) {
486
494
  startPos = [startX, startY];
487
495
  }
496
+ else {
497
+ startPos = (0, user32_1.getCursorPosition)();
498
+ }
499
+ const hasEndTarget = endElementId || (endX != null && endY != null);
488
500
  let endPos;
489
501
  if (endElementId) {
490
502
  if ((await this.sendPowerShellCommand(/* ps1 */ `$null -eq ${new powershell_1.FoundAutomationElement(endElementId).toString()}`)) === 'True') {
@@ -502,11 +514,13 @@ async function executeHover(hoverArgs) {
502
514
  rect.y + (endY ?? Math.trunc(rect.height / 2))
503
515
  ];
504
516
  }
505
- else {
506
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
517
+ else if (endX != null && endY != null) {
507
518
  endPos = [endX, endY];
508
519
  }
509
- await (0, user32_1.mouseMoveAbsolute)(startPos[0], startPos[1], 0);
520
+ if (hasEndTarget) {
521
+ // Legacy multi-point hover: jump to start position first (without modifiers)
522
+ await (0, user32_1.mouseMoveAbsolute)(startPos[0], startPos[1], 0);
523
+ }
510
524
  if (processesModifierKeys.some((key) => key.toLowerCase() === 'ctrl')) {
511
525
  (0, user32_1.keyDown)(enums_1.Key.CONTROL);
512
526
  }
@@ -519,8 +533,14 @@ async function executeHover(hoverArgs) {
519
533
  if (processesModifierKeys.some((key) => key.toLowerCase() === 'win')) {
520
534
  (0, user32_1.keyDown)(enums_1.Key.META);
521
535
  }
522
- // Execute smooth or immediate pointer move to end position
523
- await (0, user32_1.mouseMoveAbsolute)(endPos[0], endPos[1], durationMs, this.caps.smoothPointerMove);
536
+ if (hasEndTarget) {
537
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
538
+ await (0, user32_1.mouseMoveAbsolute)(endPos[0], endPos[1], durationMs, this.caps.smoothPointerMove);
539
+ }
540
+ else {
541
+ // Single-point hover: move smoothly from current position to start
542
+ await (0, user32_1.mouseMoveAbsolute)(startPos[0], startPos[1], durationMs, this.caps.smoothPointerMove);
543
+ }
524
544
  if (processesModifierKeys.some((key) => key.toLowerCase() === 'ctrl')) {
525
545
  (0, user32_1.keyUp)(enums_1.Key.CONTROL);
526
546
  }
@@ -534,10 +554,15 @@ async function executeHover(hoverArgs) {
534
554
  (0, user32_1.keyUp)(enums_1.Key.META);
535
555
  }
536
556
  }
537
- async function executeScroll(scrollArgs) {
557
+ async function executeScroll(scrollArgs = {}) {
538
558
  const { elementId, x, y, deltaX, deltaY, modifierKeys = [], } = scrollArgs;
539
559
  if (!elementId && (x == null || y == null)) {
540
- throw new base_driver_1.errors.InvalidArgumentError('Either elementId or both x and y must be provided.');
560
+ if (x != null || y != null) {
561
+ throw new base_driver_1.errors.InvalidArgumentError('Both x and y must be provided if one is provided.');
562
+ }
563
+ else {
564
+ this.log.info('No coordinates or element provided. Using current cursor position for scroll.');
565
+ }
541
566
  }
542
567
  const processesModifierKeys = Array.isArray(modifierKeys) ? modifierKeys : [modifierKeys];
543
568
  let pos;
@@ -551,16 +576,18 @@ async function executeScroll(scrollArgs) {
551
576
  }
552
577
  const rectJson = await this.sendPowerShellCommand(new powershell_1.FoundAutomationElement(elementId).buildGetElementRectCommand());
553
578
  const rect = JSON.parse(rectJson.replaceAll(/(?:infinity)/gi, 0x7FFFFFFF.toString()));
554
- // Scroll at the center of the element
579
+ // Calculate absolute position. Default to center of element if x/y are not provided.
555
580
  pos = [
556
- rect.x + Math.trunc(rect.width / 2),
557
- rect.y + Math.trunc(rect.height / 2)
581
+ rect.x + (x ?? Math.trunc(rect.width / 2)),
582
+ rect.y + (y ?? Math.trunc(rect.height / 2)),
558
583
  ];
559
584
  }
560
- else {
561
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
585
+ else if (x != null && y != null) {
562
586
  pos = [x, y];
563
587
  }
588
+ else {
589
+ pos = (0, user32_1.getCursorPosition)();
590
+ }
564
591
  await (0, user32_1.mouseMoveAbsolute)(pos[0], pos[1], 0);
565
592
  if (processesModifierKeys.some((key) => key.toLowerCase() === 'ctrl')) {
566
593
  (0, user32_1.keyDown)(enums_1.Key.CONTROL);
@@ -630,10 +657,20 @@ async function typeDelay(args) {
630
657
  async function executeClickAndDrag(clickAndDragArgs) {
631
658
  const { startElementId, startX, startY, endElementId, endX, endY, modifierKeys = [], durationMs = 1000, button = enums_1.ClickType.LEFT, smoothPointerMove, } = clickAndDragArgs;
632
659
  if (!startElementId && (startX == null || startY == null)) {
633
- throw new base_driver_1.errors.InvalidArgumentError('Either startElementId or both startX and startY must be provided.');
660
+ if (startX != null || startY != null) {
661
+ throw new base_driver_1.errors.InvalidArgumentError('Both startX and startY must be provided if one is provided.');
662
+ }
663
+ else {
664
+ this.log.info('No start coordinates or element provided. Using current cursor position for drag start.');
665
+ }
634
666
  }
635
667
  if (!endElementId && (endX == null || endY == null)) {
636
- throw new base_driver_1.errors.InvalidArgumentError('Either endElementId or both endX and endY must be provided.');
668
+ if (endX != null || endY != null) {
669
+ throw new base_driver_1.errors.InvalidArgumentError('Both endX and endY must be provided if one is provided.');
670
+ }
671
+ else {
672
+ this.log.info('No end coordinates or element provided. Using current cursor position for drag end.');
673
+ }
637
674
  }
638
675
  const clickTypeToButtonMapping = {
639
676
  [enums_1.ClickType.LEFT]: 0,
@@ -664,10 +701,12 @@ async function executeClickAndDrag(clickAndDragArgs) {
664
701
  rect.y + (startY ?? Math.trunc(rect.height / 2))
665
702
  ];
666
703
  }
667
- else {
668
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
704
+ else if (startX != null && startY != null) {
669
705
  startPos = [startX, startY];
670
706
  }
707
+ else {
708
+ startPos = (0, user32_1.getCursorPosition)();
709
+ }
671
710
  // Calculate End Position
672
711
  let endPos;
673
712
  if (endElementId) {
@@ -685,10 +724,12 @@ async function executeClickAndDrag(clickAndDragArgs) {
685
724
  rect.y + (endY ?? Math.trunc(rect.height / 2))
686
725
  ];
687
726
  }
688
- else {
689
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
727
+ else if (endX != null && endY != null) {
690
728
  endPos = [endX, endY];
691
729
  }
730
+ else {
731
+ endPos = (0, user32_1.getCursorPosition)();
732
+ }
692
733
  // Perform Action
693
734
  await (0, user32_1.mouseMoveAbsolute)(startPos[0], startPos[1], 0);
694
735
  // Modifiers Down
@@ -1 +1 @@
1
- {"version":3,"file":"extension.js","sourceRoot":"","sources":["../../../lib/commands/extension.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension.js","sourceRoot":"","sources":["../../../lib/commands/extension.ts"],"names":[],"mappings":"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"}
@@ -72,7 +72,7 @@ declare const commands: {
72
72
  }[];
73
73
  forceUnicode: boolean;
74
74
  }): Promise<void>;
75
- executeClick(this: import("../driver").NovaWindows2Driver, clickArgs: {
75
+ executeClick(this: import("../driver").NovaWindows2Driver, clickArgs?: {
76
76
  elementId?: string;
77
77
  x?: number;
78
78
  y?: number;
@@ -82,7 +82,7 @@ declare const commands: {
82
82
  times?: number;
83
83
  interClickDelayMs?: number;
84
84
  }): Promise<void>;
85
- executeHover(this: import("../driver").NovaWindows2Driver, hoverArgs: {
85
+ executeHover(this: import("../driver").NovaWindows2Driver, hoverArgs?: {
86
86
  startElementId?: string;
87
87
  startX?: number;
88
88
  startY?: number;
@@ -92,7 +92,7 @@ declare const commands: {
92
92
  modifierKeys?: ("shift" | "ctrl" | "alt" | "win") | ("shift" | "ctrl" | "alt" | "win")[];
93
93
  durationMs?: number;
94
94
  }): Promise<void>;
95
- executeScroll(this: import("../driver").NovaWindows2Driver, scrollArgs: {
95
+ executeScroll(this: import("../driver").NovaWindows2Driver, scrollArgs?: {
96
96
  elementId?: string;
97
97
  x?: number;
98
98
  y?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/commands/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAqB6gb,CAAC;;;mBAAwqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;iBAAkhH,CAAC;SAAe,CAAC;SAAe,CAAC;cAAoB,CAAC;oBAA6B,CAAC;kBAA8G,CAAC;aAAmB,CAAC;yBAA+B,CAAC;;;sBAA40G,CAAC;cAAoB,CAAC;cAAoB,CAAC;oBAA0B,CAAC;YAAkB,CAAC;YAAkB,CAAC;oBAA0B,CAAC;kBAA2F,CAAC;;;iBAAsrI,CAAC;SAAe,CAAC;SAAe,CAAC;cAAoB,CAAC;cAAoB,CAAC;oBAA0B,CAAC;;;;;;;;;;sBAAwwI,CAAC;cAAoB,CAAC;cAAoB,CAAC;oBAA0B,CAAC;YAAkB,CAAC;YAAkB,CAAC;oBAA0B,CAAC;kBAA2F,CAAC;cAAoB,CAAC;yBAAkC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;CAV3z8B,CAAC;AAEF,KAAK,QAAQ,GAAG;KACX,GAAG,IAAI,MAAM,OAAO,QAAQ,GAAG,OAAO,QAAQ,CAAC,GAAG,CAAC;CACvD,CAAC;AAEF,OAAO,QAAQ,WAAW,CAAC;IACvB,UAAU,kBAAmB,SAAQ,QAAQ;KAAI;CACpD;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/commands/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAqBoib,CAAC;;;mBAAwqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;iBAAkhH,CAAC;SAAe,CAAC;SAAe,CAAC;cAAoB,CAAC;oBAA6B,CAAC;kBAA8G,CAAC;aAAmB,CAAC;yBAA+B,CAAC;;;sBAA6/G,CAAC;cAAoB,CAAC;cAAoB,CAAC;oBAA0B,CAAC;YAAkB,CAAC;YAAkB,CAAC;oBAA0B,CAAC;kBAA2F,CAAC;;;iBAAqmJ,CAAC;SAAe,CAAC;SAAe,CAAC;cAAoB,CAAC;cAAoB,CAAC;oBAA0B,CAAC;;;;;;;;;;sBAAw/I,CAAC;cAAoB,CAAC;cAAoB,CAAC;oBAA0B,CAAC;YAAkB,CAAC;YAAkB,CAAC;oBAA0B,CAAC;kBAA2F,CAAC;cAAoB,CAAC;yBAAkC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;CAVlq+B,CAAC;AAEF,KAAK,QAAQ,GAAG;KACX,GAAG,IAAI,MAAM,OAAO,QAAQ,GAAG,OAAO,QAAQ,CAAC,GAAG,CAAC;CACvD,CAAC;AAEF,OAAO,QAAQ,WAAW,CAAC;IACvB,UAAU,kBAAmB,SAAQ,QAAQ;KAAI;CACpD;AAED,eAAe,QAAQ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"powershell.d.ts","sourceRoot":"","sources":["../../../lib/commands/powershell.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAoJ/C;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAyBtG;AAED;;GAEG;AACH,wBAAsB,6BAA6B,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAsB9G;AAMD,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDpF;AAuCD,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCxF"}
1
+ {"version":3,"file":"powershell.d.ts","sourceRoot":"","sources":["../../../lib/commands/powershell.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAkK/C;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAyBtG;AAED;;GAEG;AACH,wBAAsB,6BAA6B,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAsB9G;AAMD,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDpF;AAuCD,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCxF"}
@@ -64,6 +64,20 @@ function ensureSessionReady(driver) {
64
64
  throw new base_driver_1.errors.UnknownError('PowerShell session is not available or closed');
65
65
  }
66
66
  }
67
+ /**
68
+ * Forcefully kills a process and all its children on Windows.
69
+ * This is critical because certain COM/UIA calls can hang the PowerShell thread
70
+ * in a way that a normal SIGTERM/SIGKILL doesn't clean up children.
71
+ */
72
+ function killProcessTree(pid, log) {
73
+ try {
74
+ log.debug(`Forcefully killing process tree for PID ${pid}`);
75
+ (0, node_child_process_1.execSync)(`taskkill /F /T /PID ${pid}`);
76
+ }
77
+ catch (e) {
78
+ log.warn(`Failed to kill process tree for PID ${pid}: ${e.message}`);
79
+ }
80
+ }
67
81
  /**
68
82
  * Waits for command completion marker in PowerShell output
69
83
  */
@@ -80,13 +94,13 @@ function waitForCommandCompletion(driver, powerShell, timeoutMs, command) {
80
94
  cleanup();
81
95
  driver.log.warn(`PowerShell command timed out after ${timeoutMs}ms`);
82
96
  try {
83
- if (driver.powerShell === powerShell) {
84
- powerShell.kill();
97
+ if (driver.powerShell === powerShell && powerShell.pid) {
98
+ killProcessTree(powerShell.pid, driver.log);
85
99
  driver.powerShell = undefined;
86
100
  }
87
101
  }
88
102
  catch (e) {
89
- driver.log.warn(`Failed to kill PowerShell: ${e}`);
103
+ driver.log.warn(`Failed to cleanup PowerShell after timeout: ${e}`);
90
104
  }
91
105
  reject(new base_driver_1.errors.TimeoutError(`PowerShell command timed out after ${timeoutMs}ms`));
92
106
  }, timeoutMs);