appium-uiautomator2-driver 8.5.2 → 8.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## [8.6.1](https://github.com/appium/appium-uiautomator2-driver/compare/v8.6.0...v8.6.1) (2026-09-05)
2
+
3
+ ### Miscellaneous Chores
4
+
5
+ * mark the deprecated BaseDriver.getSession ([#1045](https://github.com/appium/appium-uiautomator2-driver/issues/1045)) ([fe38ed5](https://github.com/appium/appium-uiautomator2-driver/commit/fe38ed59c944bbc5495484754e00408ec7cff8c6))
6
+
7
+ ## [8.6.0](https://github.com/appium/appium-uiautomator2-driver/compare/v8.5.2...v8.6.0) (2026-09-04)
8
+
9
+ ### Features
10
+
11
+ * add mobile: viewportElementRect to translate web element rects to native coordinates ([#1044](https://github.com/appium/appium-uiautomator2-driver/issues/1044)) ([0469f41](https://github.com/appium/appium-uiautomator2-driver/commit/0469f41ba37fd9dbc0a96bdeb80ec557cf5ffaa0))
12
+
1
13
  ## [8.5.2](https://github.com/appium/appium-uiautomator2-driver/compare/v8.5.1...v8.5.2) (2026-09-01)
2
14
 
3
15
  ### Bug Fixes
package/README.md CHANGED
@@ -460,6 +460,20 @@ strategy | string | yes | The following strategies are supported: `accessibility
460
460
  selector | string | yes | The corresponding lookup value for the selected strategy. | 'com.mycompany:id/table'
461
461
  maxSwipes | number | no | The maximum number of swipes to perform on the target scrollable view in order to reach the destination element. In case this value is unset then it would be retrieved from the scrollable element itself (vua `getMaxSearchSwipes()` property). | 10
462
462
 
463
+ ### mobile: viewportElementRect
464
+
465
+ Gets the rectangle of an element located in the current web view context, translated into native device screen coordinates. `getElementRect` reports element geometry relative to the top-left corner of its own document, not relative to what's currently visible in the viewport, and relative to the innermost frame's own document if the element is inside an iframe; this accounts for the current scroll offset, accumulates ancestor frame offsets, and applies the page's visual viewport scale/offset (which diverge from the layout viewport under pinch zoom or an automatic input zoom) together with the device pixel ratio and the on-screen bounding rectangle of the WebView that hosts the element (which may itself be offset by e.g. a toolbar or action bar) to compute where the element actually is on the device screen, for example in order to interact with it via native gestures or to compare it against a device screenshot. The returned rectangle is clamped to the WebView's own on-screen bounds, so it never reports coordinates outside of the screen (e.g. for an element that's scrolled out of view or that overflows the viewport). The current context must be a web view, and the element must be visible on screen once clamped, or else this throws an `element not interactable` error.
466
+
467
+ #### Arguments
468
+
469
+ Name | Type | Required | Description | Example
470
+ --- | --- | --- | --- | ---
471
+ elementId | string | yes | The identifier of an element found in the current web view context. | 123456-3456-3435-3453453
472
+
473
+ #### Returned Result
474
+
475
+ A dictionary with `x`, `y`, `width` and `height` entries, in native device screen coordinates, for example `{x: 20, y: 140, width: 60, height: 80}`.
476
+
463
477
  ### mobile: deepLink
464
478
 
465
479
  Start URI that may take users directly to the specific content in the app. Read [Reliably Opening Deep Links Across Platforms and Devices](https://appiumpro.com/editions/84-reliably-opening-deep-links-across-platforms-and-devices) for more details.
@@ -21,6 +21,32 @@ export declare function getViewPortRect(this: AndroidUiautomator2Driver): Promis
21
21
  * @returns The viewport rectangle (left, top, width, height).
22
22
  */
23
23
  export declare function mobileViewPortRect(this: AndroidUiautomator2Driver): Promise<RelativeRect>;
24
+ /**
25
+ * Clips `rect` to the area covered by `bounds`, so that it never extends
26
+ * outside it. An element that is partially (or entirely) scrolled out of its
27
+ * container, or that otherwise overflows it, would otherwise translate to
28
+ * coordinates outside of what's actually on screen at that container.
29
+ *
30
+ * @returns The clipped rectangle. Its width/height are 0 if `rect` doesn't
31
+ * overlap `bounds` at all.
32
+ */
33
+ export declare function clampRectToBounds(rect: Rect, bounds: Rect): Rect;
34
+ /**
35
+ * Gets the rectangle of an element located in the current web view context,
36
+ * translated into native device screen coordinates. `getElementRect` is
37
+ * relative to the element's own (possibly nested-frame) document and ignores
38
+ * scroll/zoom, so this corrects for scroll offset, ancestor frame offsets,
39
+ * and the visual viewport (pinch/input zoom) before applying the device
40
+ * pixel ratio and the hosting WebView's on-screen bounds (see
41
+ * `getWebviewGeometryContext`). The result is clamped to those bounds.
42
+ *
43
+ * @param elementId - ID of an element found in the current web view context.
44
+ * @returns The element rectangle (x, y, width, height) in native screen coordinates.
45
+ * @throws {errors.InvalidContextError} If the current context is not a web view.
46
+ * @throws {errors.ElementNotInteractableError} If the element is not visible/is entirely
47
+ * offscreen, i.e. outside the WebView's own on-screen bounds, once clamped.
48
+ */
49
+ export declare function mobileViewportElementRect(this: AndroidUiautomator2Driver, elementId: string): Promise<Rect>;
24
50
  /**
25
51
  * Gets the window rectangle (W3C endpoint).
26
52
  * @returns The window rectangle (x, y, width, height).
@@ -1 +1 @@
1
- {"version":3,"file":"viewport.d.ts","sourceRoot":"","sources":["../../../lib/commands/viewport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,eAAe,CAAC;AAE9C,OAAO,KAAK,EAAC,yBAAyB,EAAC,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AAE7C;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAKzF;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAE1F;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,YAAY,CAAC,CAW5F;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,YAAY,CAAC,CAE/F;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQlF;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAExF;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAElF"}
1
+ {"version":3,"file":"viewport.d.ts","sourceRoot":"","sources":["../../../lib/commands/viewport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,IAAI,EAAE,IAAI,EAAe,MAAM,eAAe,CAAC;AAM5D,OAAO,KAAK,EAAC,yBAAyB,EAAC,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AAE7C;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAKzF;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAE1F;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,YAAY,CAAC,CAW5F;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,YAAY,CAAC,CAE/F;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,CAWhE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,yBAAyB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCjH;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQlF;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAExF;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAElF"}
@@ -1,3 +1,5 @@
1
+ import { errors, PROTOCOLS } from 'appium/driver.js';
2
+ import { util } from 'appium/support.js';
1
3
  /**
2
4
  * Gets the status bar height in pixels.
3
5
  * @returns The status bar height in pixels.
@@ -36,6 +38,72 @@ export async function getViewPortRect() {
36
38
  export async function mobileViewPortRect() {
37
39
  return await this.getViewPortRect();
38
40
  }
41
+ /**
42
+ * Clips `rect` to the area covered by `bounds`, so that it never extends
43
+ * outside it. An element that is partially (or entirely) scrolled out of its
44
+ * container, or that otherwise overflows it, would otherwise translate to
45
+ * coordinates outside of what's actually on screen at that container.
46
+ *
47
+ * @returns The clipped rectangle. Its width/height are 0 if `rect` doesn't
48
+ * overlap `bounds` at all.
49
+ */
50
+ export function clampRectToBounds(rect, bounds) {
51
+ const left = Math.min(Math.max(rect.x, bounds.x), bounds.x + bounds.width);
52
+ const top = Math.min(Math.max(rect.y, bounds.y), bounds.y + bounds.height);
53
+ const right = Math.min(Math.max(rect.x + rect.width, bounds.x), bounds.x + bounds.width);
54
+ const bottom = Math.min(Math.max(rect.y + rect.height, bounds.y), bounds.y + bounds.height);
55
+ return {
56
+ x: left,
57
+ y: top,
58
+ width: Math.max(0, right - left),
59
+ height: Math.max(0, bottom - top),
60
+ };
61
+ }
62
+ /**
63
+ * Gets the rectangle of an element located in the current web view context,
64
+ * translated into native device screen coordinates. `getElementRect` is
65
+ * relative to the element's own (possibly nested-frame) document and ignores
66
+ * scroll/zoom, so this corrects for scroll offset, ancestor frame offsets,
67
+ * and the visual viewport (pinch/input zoom) before applying the device
68
+ * pixel ratio and the hosting WebView's on-screen bounds (see
69
+ * `getWebviewGeometryContext`). The result is clamped to those bounds.
70
+ *
71
+ * @param elementId - ID of an element found in the current web view context.
72
+ * @returns The element rectangle (x, y, width, height) in native screen coordinates.
73
+ * @throws {errors.InvalidContextError} If the current context is not a web view.
74
+ * @throws {errors.ElementNotInteractableError} If the element is not visible/is entirely
75
+ * offscreen, i.e. outside the WebView's own on-screen bounds, once clamped.
76
+ */
77
+ export async function mobileViewportElementRect(elementId) {
78
+ if (!this.isWebContext()) {
79
+ throw new errors.InvalidContextError('The current context must be a web view in order to translate an element rect into native screen coordinates');
80
+ }
81
+ const [webRect, geometry, webViewRect] = await Promise.all([
82
+ this.getElementRect(elementId),
83
+ getWebviewGeometryContext(this),
84
+ getNativeWebViewRect(this),
85
+ ]);
86
+ // getElementRect's x/y are relative to the current frame's own document; convert
87
+ // to layout-viewport-relative coordinates of the top-level page
88
+ const layoutX = webRect.x - geometry.scrollX + geometry.frameOffsetX;
89
+ const layoutY = webRect.y - geometry.scrollY + geometry.frameOffsetY;
90
+ // then account for the page's visual viewport (pinch zoom / auto input zoom),
91
+ // which the layout viewport and devicePixelRatio alone don't reflect
92
+ const visualX = (layoutX - geometry.visualOffsetLeft) * geometry.visualScale;
93
+ const visualY = (layoutY - geometry.visualOffsetTop) * geometry.visualScale;
94
+ const scale = geometry.visualScale * geometry.pixelRatio;
95
+ const translated = {
96
+ x: Math.round(webViewRect.x + visualX * geometry.pixelRatio),
97
+ y: Math.round(webViewRect.y + visualY * geometry.pixelRatio),
98
+ width: Math.round(webRect.width * scale),
99
+ height: Math.round(webRect.height * scale),
100
+ };
101
+ const clamped = clampRectToBounds(translated, webViewRect);
102
+ if (clamped.width === 0 || clamped.height === 0) {
103
+ throw new errors.ElementNotInteractableError(`The element is not visible: its translated rectangle does not overlap the WebView's on-screen bounds`);
104
+ }
105
+ return clamped;
106
+ }
39
107
  /**
40
108
  * Gets the window rectangle (W3C endpoint).
41
109
  * @returns The window rectangle (x, y, width, height).
@@ -63,4 +131,148 @@ export async function getDisplayDensity() {
63
131
  export async function getWindowSize() {
64
132
  return (await this.uiautomator2.jwproxy.command('/window/current/size', 'GET', {}));
65
133
  }
134
+ // broad match so custom/vendor WebView subclasses (hybrid frameworks, etc.) are still found
135
+ const NATIVE_WEBVIEW_CLASS_SELECTOR = "//*[contains(@class,'WebView')]";
136
+ /**
137
+ * Finds the on-screen bounding rectangle of the currently active web view,
138
+ * as self-reported by Chromium's own WebView embedding layer: each page
139
+ * listed by the CDP `/json/list` endpoint carries a `description` field with
140
+ * its `screenX`/`screenY`/`width`/`height` in native device screen
141
+ * coordinates. This is authoritative and independent of whatever native
142
+ * Android view class actually hosts the WebView, unlike scanning the view
143
+ * hierarchy for a specific class name.
144
+ *
145
+ * @returns The rectangle, or `null` if this data isn't available (e.g. the
146
+ * page didn't report a `description`, or the CDP lookup failed).
147
+ */
148
+ async function getWebviewRectFromCdp(driver) {
149
+ let mapping;
150
+ try {
151
+ mapping = await driver.mobileGetContexts();
152
+ }
153
+ catch {
154
+ return null;
155
+ }
156
+ const pages = mapping.find((m) => m.webviewName === driver.curContext)?.pages;
157
+ for (const page of pages ?? []) {
158
+ const raw = page.description;
159
+ if (typeof raw !== 'string' || !raw) {
160
+ continue;
161
+ }
162
+ let parsed;
163
+ try {
164
+ parsed = JSON.parse(raw);
165
+ }
166
+ catch {
167
+ continue;
168
+ }
169
+ const { screenX: x, screenY: y, width, height, visible, empty } = parsed;
170
+ if (visible === false || empty === true) {
171
+ continue;
172
+ }
173
+ if (typeof x === 'number' &&
174
+ typeof y === 'number' &&
175
+ typeof width === 'number' &&
176
+ typeof height === 'number' &&
177
+ width > 0 &&
178
+ height > 0) {
179
+ return { x, y, width, height };
180
+ }
181
+ }
182
+ return null;
183
+ }
184
+ /**
185
+ * Finds the on-screen bounding rectangle of the native Android WebView that
186
+ * hosts web content, in native device screen coordinates, via an XPath scan
187
+ * of the native view hierarchy for a class name containing "WebView".
188
+ *
189
+ * There is no reliable way to correlate a native view-hierarchy node with the
190
+ * specific Chromium instance backing the currently active CDP target, so this
191
+ * only succeeds when exactly one non-degenerate (visible, non-zero-area)
192
+ * WebView node is found; it throws rather than guessing if more than one
193
+ * candidate remains, since silently picking the wrong one (e.g. the largest)
194
+ * would translate coordinates using an unrelated WebView's origin and bounds.
195
+ * This call bypasses the active web view context, since it must query the
196
+ * native view hierarchy rather than the DOM. Used only as a fallback when the
197
+ * CDP-reported bounds (see `getWebviewRectFromCdp`) aren't available.
198
+ */
199
+ async function getNativeWebViewRectFromViewHierarchy(driver) {
200
+ const webViewElements = await driver.findElOrEls('xpath', NATIVE_WEBVIEW_CLASS_SELECTOR, true);
201
+ if (!webViewElements.length) {
202
+ throw new errors.NoSuchElementError('Could not find a native WebView element on screen');
203
+ }
204
+ // fetched independently per element: one going stale (e.g. the view hierarchy
205
+ // changed between the find and this lookup) must not fail the others
206
+ const settled = await Promise.allSettled(webViewElements.map((el) => {
207
+ const elementId = util.unwrapElement(el);
208
+ return driver.uiautomator2.jwproxy.command(`/element/${elementId}/rect`, 'GET');
209
+ }));
210
+ const rects = settled
211
+ .filter((result) => result.status === 'fulfilled')
212
+ .map((result) => result.value)
213
+ .filter((rect) => rect.width > 0 && rect.height > 0);
214
+ if (!rects.length) {
215
+ throw new errors.NoSuchElementError('Could not determine the bounds of any visible native WebView element on screen');
216
+ }
217
+ if (rects.length > 1) {
218
+ throw new errors.UnknownError('Found multiple visible native WebView elements on screen and could not determine which one hosts the ' +
219
+ 'current web view context, since its on-screen bounds were not available via CDP. Ensure only one ' +
220
+ 'WebView is visible on screen at a time, or check that the CDP devtools socket for this web view is reachable.');
221
+ }
222
+ return rects[0];
223
+ }
224
+ /**
225
+ * Finds the on-screen bounding rectangle of the currently active web view, in
226
+ * native device screen coordinates. Prefers the bounds Chromium itself
227
+ * reports over CDP; falls back to scanning the native view hierarchy only if
228
+ * that data isn't available.
229
+ */
230
+ async function getNativeWebViewRect(driver) {
231
+ return (await getWebviewRectFromCdp(driver)) ?? (await getNativeWebViewRectFromViewHierarchy(driver));
232
+ }
233
+ // Walks up window.parent to accumulate same-origin ancestor frame offsets (stopping at the
234
+ // first cross-origin one, which can't be measured from script), then reads devicePixelRatio,
235
+ // the current frame's own scroll, and the outermost reachable window's visual viewport state.
236
+ const GET_WEBVIEW_GEOMETRY_CONTEXT_SCRIPT = `
237
+ var win = window;
238
+ var frameOffsetX = 0;
239
+ var frameOffsetY = 0;
240
+ try {
241
+ while (win !== win.parent) {
242
+ var frameRect = win.frameElement.getBoundingClientRect();
243
+ frameOffsetX += frameRect.left;
244
+ frameOffsetY += frameRect.top;
245
+ win = win.parent;
246
+ }
247
+ } catch (e) {
248
+ // cross-origin ancestor frame; its geometry can't be measured from here
249
+ }
250
+ var visualViewport = win.visualViewport;
251
+ return {
252
+ pixelRatio: window.devicePixelRatio,
253
+ scrollX: window.scrollX,
254
+ scrollY: window.scrollY,
255
+ frameOffsetX: frameOffsetX,
256
+ frameOffsetY: frameOffsetY,
257
+ visualScale: visualViewport ? visualViewport.scale : 1,
258
+ visualOffsetLeft: visualViewport ? visualViewport.offsetLeft : 0,
259
+ visualOffsetTop: visualViewport ? visualViewport.offsetTop : 0,
260
+ };
261
+ `;
262
+ /**
263
+ * Reads the geometry needed to translate an element's `getElementRect` rectangle
264
+ * (which is relative to its own, possibly nested, document, and unaffected by pinch
265
+ * zoom) into a position within the top-level page's currently visible viewport.
266
+ * Read directly from Chromium itself, rather than assumed from the OS-level display
267
+ * density or a generic viewport rectangle, since none of this can be assumed to stay
268
+ * fixed across zoom, scroll, or frame nesting.
269
+ */
270
+ async function getWebviewGeometryContext(driver) {
271
+ const chromedriver = driver.chromedriver;
272
+ const endpoint = chromedriver.jwproxy.downstreamProtocol === PROTOCOLS.MJSONWP ? '/execute' : '/execute/sync';
273
+ return (await chromedriver.jwproxy.command(endpoint, 'POST', {
274
+ script: GET_WEBVIEW_GEOMETRY_CONTEXT_SCRIPT,
275
+ args: [],
276
+ }));
277
+ }
66
278
  //# sourceMappingURL=viewport.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"viewport.js","sourceRoot":"","sources":["../../../lib/commands/viewport.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,EAAC,SAAS,EAAC,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,EAAE,KAAK,EAAE,EAAE,CAAC,CAEpG,CAAC;IACF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;AAClG,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IAC9C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;IACxD,2EAA2E;IAC3E,4BAA4B;IAC5B,OAAO;QACL,IAAI,EAAE,CAAC;QACP,GAAG,EAAE,eAAe;QACpB,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,eAAe;KAC5C,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,OAAO,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,EAAC,KAAK,EAAE,MAAM,EAAC,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IACnD,OAAO;QACL,KAAK;QACL,MAAM;QACN,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,CAAC;KACL,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,gCAAgC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAW,CAAC;AAC1G,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,sBAAsB,EAAE,KAAK,EAAE,EAAE,CAAC,CAAS,CAAC;AAC9F,CAAC"}
1
+ {"version":3,"file":"viewport.js","sourceRoot":"","sources":["../../../lib/commands/viewport.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,MAAM,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAKvC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,EAAC,SAAS,EAAC,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,EAAE,KAAK,EAAE,EAAE,CAAC,CAEpG,CAAC;IACF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;AAClG,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IAC9C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;IACxD,2EAA2E;IAC3E,4BAA4B;IAC5B,OAAO;QACL,IAAI,EAAE,CAAC;QACP,GAAG,EAAE,eAAe;QACpB,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,eAAe;KAC5C,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,OAAO,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;AACtC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAU,EAAE,MAAY;IACxD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACzF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5F,OAAO;QACL,CAAC,EAAE,IAAI;QACP,CAAC,EAAE,GAAG;QACN,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;QAChC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;KAClC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAkC,SAAiB;IAChG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QACzB,MAAM,IAAI,MAAM,CAAC,mBAAmB,CAClC,6GAA6G,CAC9G,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzD,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;QAC9B,yBAAyB,CAAC,IAAI,CAAC;QAC/B,oBAAoB,CAAC,IAAI,CAAC;KAC3B,CAAC,CAAC;IAEH,iFAAiF;IACjF,gEAAgE;IAChE,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC;IACrE,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC;IACrE,8EAA8E;IAC9E,qEAAqE;IACrE,MAAM,OAAO,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC,gBAAgB,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC;IAC7E,MAAM,OAAO,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC;IAC5E,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC;IAEzD,MAAM,UAAU,GAAG;QACjB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC;QAC5D,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC;QAC5D,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QACxC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;KAC3C,CAAC;IACF,MAAM,OAAO,GAAG,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC3D,IAAI,OAAO,CAAC,KAAK,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,MAAM,CAAC,2BAA2B,CAC1C,sGAAsG,CACvG,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,EAAC,KAAK,EAAE,MAAM,EAAC,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IACnD,OAAO;QACL,KAAK;QACL,MAAM;QACN,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,CAAC;KACL,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,gCAAgC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAW,CAAC;AAC1G,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,sBAAsB,EAAE,KAAK,EAAE,EAAE,CAAC,CAAS,CAAC;AAC9F,CAAC;AAED,4FAA4F;AAC5F,MAAM,6BAA6B,GAAG,iCAAiC,CAAC;AAWxE;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,qBAAqB,CAAC,MAAiC;IACpE,IAAI,OAA0B,CAAC;IAC/B,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,MAAM,CAAC,iBAAiB,EAAE,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,MAAM,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;IAC9E,KAAK,MAAM,IAAI,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAI,IAAqB,CAAC,WAAW,CAAC;QAC/C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC;YACpC,SAAS;QACX,CAAC;QACD,IAAI,MAA0B,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,MAAM,EAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAC,GAAG,MAAM,CAAC;QACvE,IAAI,OAAO,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACxC,SAAS;QACX,CAAC;QACD,IACE,OAAO,CAAC,KAAK,QAAQ;YACrB,OAAO,CAAC,KAAK,QAAQ;YACrB,OAAO,KAAK,KAAK,QAAQ;YACzB,OAAO,MAAM,KAAK,QAAQ;YAC1B,KAAK,GAAG,CAAC;YACT,MAAM,GAAG,CAAC,EACV,CAAC;YACD,OAAO,EAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,qCAAqC,CAAC,MAAiC;IACpF,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,6BAA6B,EAAE,IAAI,CAAC,CAAC;IAC/F,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,IAAI,MAAM,CAAC,kBAAkB,CAAC,mDAAmD,CAAC,CAAC;IAC3F,CAAC;IAED,8EAA8E;IAC9E,qEAAqE;IACrE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,SAAS,OAAO,EAAE,KAAK,CAAkB,CAAC;IACnG,CAAC,CAAC,CACH,CAAC;IACF,MAAM,KAAK,GAAG,OAAO;SAClB,MAAM,CAAC,CAAC,MAAM,EAA0C,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC;SACzF,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;SAC7B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,IAAI,MAAM,CAAC,kBAAkB,CACjC,gFAAgF,CACjF,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,MAAM,CAAC,YAAY,CAC3B,uGAAuG;YACrG,mGAAmG;YACnG,+GAA+G,CAClH,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,oBAAoB,CAAC,MAAiC;IACnE,OAAO,CAAC,MAAM,qBAAqB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,qCAAqC,CAAC,MAAM,CAAC,CAAC,CAAC;AACxG,CAAC;AAqBD,2FAA2F;AAC3F,6FAA6F;AAC7F,8FAA8F;AAC9F,MAAM,mCAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;CAyB3C,CAAC;AAEF;;;;;;;GAOG;AACH,KAAK,UAAU,yBAAyB,CAAC,MAAiC;IACxE,MAAM,YAAY,GAAG,MAAM,CAAC,YAA4B,CAAC;IACzD,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC;IAC9G,OAAO,CAAC,MAAM,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE;QAC3D,MAAM,EAAE,mCAAmC;QAC3C,IAAI,EAAE,EAAE;KACT,CAAC,CAA2B,CAAC;AAChC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { DriverData, ExternalDriver, InitialOpts, RouteMatcher, SingularSessionData, StringRecord, SessionCapabilities } from '@appium/types';
1
+ import type { DriverData, ExternalDriver, InitialOpts, RouteMatcher, SingularSessionData, StringRecord } from '@appium/types';
2
2
  import { type ADB } from 'appium-adb';
3
3
  import { AndroidDriver } from 'appium-android-driver';
4
4
  import { mobileGetActionHistory, mobileScheduleAction, mobileUnscheduleAction, releaseActions } from './commands/actions.js';
@@ -13,14 +13,14 @@ import { mobilePressKey, mobileType, keyevent } from './commands/keyboard.js';
13
13
  import { getPageSource, getOrientation, setOrientation, mobileGetDeviceInfo, mobileGetDeclaredOrientation, mobileResetAccessibilityCache } from './commands/misc.js';
14
14
  import { mobileDeepLink, back } from './commands/navigation.js';
15
15
  import { mobileScreenshots, mobileViewportScreenshot, getScreenshot, getViewportScreenshot } from './commands/screenshot.js';
16
- import { getStatusBarHeight, getDevicePixelRatio, getViewPortRect, mobileViewPortRect } from './commands/viewport.js';
16
+ import { getStatusBarHeight, getDevicePixelRatio, getViewPortRect, mobileViewPortRect, mobileViewportElementRect } from './commands/viewport.js';
17
17
  import { mobileListWindows, mobileListDisplays } from './commands/windows.js';
18
18
  import { type Uiautomator2Constraints } from './constraints.js';
19
19
  import type { Uiautomator2Settings, Uiautomator2DeviceDetails, Uiautomator2DriverCaps, Uiautomator2DriverOpts, W3CUiautomator2DriverCaps } from './types.js';
20
20
  import type { UiAutomator2Server } from './uiautomator2-server/index.js';
21
21
  import { allocateMjpegServerPort, allocateSystemPort, initServer, performExecution, performPostExecSetup, performPreExecSetup, releaseMjpegServerPort, releaseSystemPort, requireServer, startSession } from './uiautomator2-server/index.js';
22
22
  import { MJpegStream } from './utils/index.js';
23
- declare class AndroidUiautomator2Driver extends AndroidDriver implements ExternalDriver<Uiautomator2Constraints, string, StringRecord> {
23
+ declare class AndroidUiautomator2Driver extends AndroidDriver<Uiautomator2Constraints> implements ExternalDriver<Uiautomator2Constraints, string, StringRecord> {
24
24
  static newMethodMap: {
25
25
  readonly '/session/:sessionId/appium/device/get_clipboard': {
26
26
  readonly POST: {
@@ -485,6 +485,12 @@ declare class AndroidUiautomator2Driver extends AndroidDriver implements Externa
485
485
  readonly 'mobile: viewportRect': {
486
486
  readonly command: "mobileViewPortRect";
487
487
  };
488
+ readonly 'mobile: viewportElementRect': {
489
+ readonly command: "mobileViewportElementRect";
490
+ readonly params: {
491
+ readonly required: readonly ["elementId"];
492
+ };
493
+ };
488
494
  readonly 'mobile: deepLink': {
489
495
  readonly command: "mobileDeepLink";
490
496
  readonly params: {
@@ -1054,6 +1060,7 @@ declare class AndroidUiautomator2Driver extends AndroidDriver implements Externa
1054
1060
  getWindowRect: AndroidDriver["getWindowRect"];
1055
1061
  getWindowSize: AndroidDriver["getWindowSize"];
1056
1062
  mobileViewPortRect: typeof mobileViewPortRect;
1063
+ mobileViewportElementRect: typeof mobileViewportElementRect;
1057
1064
  prepareSessionApp: typeof prepareSessionApp;
1058
1065
  checkAppPresent: typeof checkAppPresent;
1059
1066
  initAUT: typeof initAUT;
@@ -1073,6 +1080,12 @@ declare class AndroidUiautomator2Driver extends AndroidDriver implements Externa
1073
1080
  validateDesiredCaps(caps: any): caps is Uiautomator2DriverCaps;
1074
1081
  createSession(w3cCaps1: W3CUiautomator2DriverCaps, w3cCaps2?: W3CUiautomator2DriverCaps, w3cCaps3?: W3CUiautomator2DriverCaps, driverData?: DriverData[]): Promise<any>;
1075
1082
  getDeviceDetails(): Promise<Uiautomator2DeviceDetails>;
1083
+ /**
1084
+ * @deprecated Appium's base-driver deprecated `getSession`/`GET /session/:sessionId` in favor
1085
+ * of `getAppiumSessionCapabilities`, but third-party drivers may still call this method
1086
+ * directly. Keep it around until it is removed along with other Appium 4-related breaking
1087
+ * changes.
1088
+ */
1076
1089
  getSession(): Promise<SingularSessionData<Uiautomator2Constraints>>;
1077
1090
  onIpcInit(): Promise<void>;
1078
1091
  deleteSession(): Promise<void>;
@@ -1082,7 +1095,6 @@ declare class AndroidUiautomator2Driver extends AndroidDriver implements Externa
1082
1095
  getProxyAvoidList(): RouteMatcher[];
1083
1096
  updateSettings(settings: Uiautomator2Settings): Promise<void>;
1084
1097
  getSettings(): Promise<StringRecord>;
1085
- getAppiumSessionCapabilities(): Promise<SessionCapabilities<Uiautomator2Constraints>>;
1086
1098
  requireAdb(): ADB;
1087
1099
  }
1088
1100
  export { AndroidUiautomator2Driver };
@@ -1 +1 @@
1
- {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ import { pressKeyCode, longPressKeyCode, mobilePressKey, mobileType, doSendKeys,
15
15
  import { getPageSource, getOrientation, setOrientation, openNotifications, suspendChromedriverProxy, mobileGetDeviceInfo, mobileGetDeclaredOrientation, mobileResetAccessibilityCache, } from './commands/misc.js';
16
16
  import { setUrl, mobileDeepLink, back } from './commands/navigation.js';
17
17
  import { mobileScreenshots, mobileViewportScreenshot, getScreenshot, getViewportScreenshot, } from './commands/screenshot.js';
18
- import { getStatusBarHeight, getDevicePixelRatio, getDisplayDensity, getViewPortRect, getWindowRect, getWindowSize, mobileViewPortRect, } from './commands/viewport.js';
18
+ import { getStatusBarHeight, getDevicePixelRatio, getDisplayDensity, getViewPortRect, getWindowRect, getWindowSize, mobileViewPortRect, mobileViewportElementRect, } from './commands/viewport.js';
19
19
  import { mobileListWindows, mobileListDisplays } from './commands/windows.js';
20
20
  import UIAUTOMATOR2_CONSTRAINTS from './constraints.js';
21
21
  import { executeMethodMap } from './execute-method-map.js';
@@ -197,6 +197,7 @@ class AndroidUiautomator2Driver extends AndroidDriver {
197
197
  getWindowRect = getWindowRect;
198
198
  getWindowSize = getWindowSize;
199
199
  mobileViewPortRect = mobileViewPortRect;
200
+ mobileViewportElementRect = mobileViewportElementRect;
200
201
  prepareSessionApp = prepareSessionApp;
201
202
  checkAppPresent = checkAppPresent;
202
203
  initAUT = initAUT;
@@ -318,6 +319,12 @@ class AndroidUiautomator2Driver extends AndroidDriver {
318
319
  deviceScreenDensity: displayDensity,
319
320
  };
320
321
  }
322
+ /**
323
+ * @deprecated Appium's base-driver deprecated `getSession`/`GET /session/:sessionId` in favor
324
+ * of `getAppiumSessionCapabilities`, but third-party drivers may still call this method
325
+ * directly. Keep it around until it is removed along with other Appium 4-related breaking
326
+ * changes.
327
+ */
321
328
  async getSession() {
322
329
  const sessionData = await BaseDriver.prototype.getSession.call(this);
323
330
  this.log.debug('Getting session details from server to mix in');
@@ -469,10 +476,6 @@ class AndroidUiautomator2Driver extends AndroidDriver {
469
476
  const serverSettings = (await this.requireUiautomator2().jwproxy.command('/appium/settings', 'GET'));
470
477
  return { ...driverSettings, ...serverSettings };
471
478
  }
472
- // needed to make the typechecker happy
473
- async getAppiumSessionCapabilities() {
474
- return (await super.getAppiumSessionCapabilities());
475
- }
476
479
  requireAdb() {
477
480
  const adb = this.adb;
478
481
  if (!adb) {
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"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"}
@@ -77,6 +77,12 @@ export declare const executeMethodMap: {
77
77
  readonly 'mobile: viewportRect': {
78
78
  readonly command: "mobileViewPortRect";
79
79
  };
80
+ readonly 'mobile: viewportElementRect': {
81
+ readonly command: "mobileViewportElementRect";
82
+ readonly params: {
83
+ readonly required: readonly ["elementId"];
84
+ };
85
+ };
80
86
  readonly 'mobile: deepLink': {
81
87
  readonly command: "mobileDeepLink";
82
88
  readonly params: {
@@ -1 +1 @@
1
- {"version":3,"file":"execute-method-map.d.ts","sourceRoot":"","sources":["../../lib/execute-method-map.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyMa,CAAC"}
1
+ {"version":3,"file":"execute-method-map.d.ts","sourceRoot":"","sources":["../../lib/execute-method-map.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+Ma,CAAC"}
@@ -79,6 +79,12 @@ export const executeMethodMap = {
79
79
  'mobile: viewportRect': {
80
80
  command: 'mobileViewPortRect',
81
81
  },
82
+ 'mobile: viewportElementRect': {
83
+ command: 'mobileViewportElementRect',
84
+ params: {
85
+ required: ['elementId'],
86
+ },
87
+ },
82
88
  'mobile: deepLink': {
83
89
  command: 'mobileDeepLink',
84
90
  params: {
@@ -1 +1 @@
1
- {"version":3,"file":"execute-method-map.js","sourceRoot":"","sources":["../../lib/execute-method-map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute-method-map.js","sourceRoot":"","sources":["../../lib/execute-method-map.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,8 @@
1
- import type {Rect, Size} from '@appium/types';
1
+ import type {Rect, Size, StringRecord} from '@appium/types';
2
+ import type {WebviewsMapping} from 'appium-android-driver';
3
+ import type {Chromedriver} from 'appium-chromedriver';
4
+ import {errors, PROTOCOLS} from 'appium/driver.js';
5
+ import {util} from 'appium/support.js';
2
6
 
3
7
  import type {AndroidUiautomator2Driver} from '../driver.js';
4
8
  import type {RelativeRect} from './types.js';
@@ -47,6 +51,81 @@ export async function mobileViewPortRect(this: AndroidUiautomator2Driver): Promi
47
51
  return await this.getViewPortRect();
48
52
  }
49
53
 
54
+ /**
55
+ * Clips `rect` to the area covered by `bounds`, so that it never extends
56
+ * outside it. An element that is partially (or entirely) scrolled out of its
57
+ * container, or that otherwise overflows it, would otherwise translate to
58
+ * coordinates outside of what's actually on screen at that container.
59
+ *
60
+ * @returns The clipped rectangle. Its width/height are 0 if `rect` doesn't
61
+ * overlap `bounds` at all.
62
+ */
63
+ export function clampRectToBounds(rect: Rect, bounds: Rect): Rect {
64
+ const left = Math.min(Math.max(rect.x, bounds.x), bounds.x + bounds.width);
65
+ const top = Math.min(Math.max(rect.y, bounds.y), bounds.y + bounds.height);
66
+ const right = Math.min(Math.max(rect.x + rect.width, bounds.x), bounds.x + bounds.width);
67
+ const bottom = Math.min(Math.max(rect.y + rect.height, bounds.y), bounds.y + bounds.height);
68
+ return {
69
+ x: left,
70
+ y: top,
71
+ width: Math.max(0, right - left),
72
+ height: Math.max(0, bottom - top),
73
+ };
74
+ }
75
+
76
+ /**
77
+ * Gets the rectangle of an element located in the current web view context,
78
+ * translated into native device screen coordinates. `getElementRect` is
79
+ * relative to the element's own (possibly nested-frame) document and ignores
80
+ * scroll/zoom, so this corrects for scroll offset, ancestor frame offsets,
81
+ * and the visual viewport (pinch/input zoom) before applying the device
82
+ * pixel ratio and the hosting WebView's on-screen bounds (see
83
+ * `getWebviewGeometryContext`). The result is clamped to those bounds.
84
+ *
85
+ * @param elementId - ID of an element found in the current web view context.
86
+ * @returns The element rectangle (x, y, width, height) in native screen coordinates.
87
+ * @throws {errors.InvalidContextError} If the current context is not a web view.
88
+ * @throws {errors.ElementNotInteractableError} If the element is not visible/is entirely
89
+ * offscreen, i.e. outside the WebView's own on-screen bounds, once clamped.
90
+ */
91
+ export async function mobileViewportElementRect(this: AndroidUiautomator2Driver, elementId: string): Promise<Rect> {
92
+ if (!this.isWebContext()) {
93
+ throw new errors.InvalidContextError(
94
+ 'The current context must be a web view in order to translate an element rect into native screen coordinates',
95
+ );
96
+ }
97
+
98
+ const [webRect, geometry, webViewRect] = await Promise.all([
99
+ this.getElementRect(elementId),
100
+ getWebviewGeometryContext(this),
101
+ getNativeWebViewRect(this),
102
+ ]);
103
+
104
+ // getElementRect's x/y are relative to the current frame's own document; convert
105
+ // to layout-viewport-relative coordinates of the top-level page
106
+ const layoutX = webRect.x - geometry.scrollX + geometry.frameOffsetX;
107
+ const layoutY = webRect.y - geometry.scrollY + geometry.frameOffsetY;
108
+ // then account for the page's visual viewport (pinch zoom / auto input zoom),
109
+ // which the layout viewport and devicePixelRatio alone don't reflect
110
+ const visualX = (layoutX - geometry.visualOffsetLeft) * geometry.visualScale;
111
+ const visualY = (layoutY - geometry.visualOffsetTop) * geometry.visualScale;
112
+ const scale = geometry.visualScale * geometry.pixelRatio;
113
+
114
+ const translated = {
115
+ x: Math.round(webViewRect.x + visualX * geometry.pixelRatio),
116
+ y: Math.round(webViewRect.y + visualY * geometry.pixelRatio),
117
+ width: Math.round(webRect.width * scale),
118
+ height: Math.round(webRect.height * scale),
119
+ };
120
+ const clamped = clampRectToBounds(translated, webViewRect);
121
+ if (clamped.width === 0 || clamped.height === 0) {
122
+ throw new errors.ElementNotInteractableError(
123
+ `The element is not visible: its translated rectangle does not overlap the WebView's on-screen bounds`,
124
+ );
125
+ }
126
+ return clamped;
127
+ }
128
+
50
129
  /**
51
130
  * Gets the window rectangle (W3C endpoint).
52
131
  * @returns The window rectangle (x, y, width, height).
@@ -76,3 +155,189 @@ export async function getDisplayDensity(this: AndroidUiautomator2Driver): Promis
76
155
  export async function getWindowSize(this: AndroidUiautomator2Driver): Promise<Size> {
77
156
  return (await this.uiautomator2.jwproxy.command('/window/current/size', 'GET', {})) as Size;
78
157
  }
158
+
159
+ // broad match so custom/vendor WebView subclasses (hybrid frameworks, etc.) are still found
160
+ const NATIVE_WEBVIEW_CLASS_SELECTOR = "//*[contains(@class,'WebView')]";
161
+
162
+ interface CdpPageDescription {
163
+ screenX?: number;
164
+ screenY?: number;
165
+ width?: number;
166
+ height?: number;
167
+ visible?: boolean;
168
+ empty?: boolean;
169
+ }
170
+
171
+ /**
172
+ * Finds the on-screen bounding rectangle of the currently active web view,
173
+ * as self-reported by Chromium's own WebView embedding layer: each page
174
+ * listed by the CDP `/json/list` endpoint carries a `description` field with
175
+ * its `screenX`/`screenY`/`width`/`height` in native device screen
176
+ * coordinates. This is authoritative and independent of whatever native
177
+ * Android view class actually hosts the WebView, unlike scanning the view
178
+ * hierarchy for a specific class name.
179
+ *
180
+ * @returns The rectangle, or `null` if this data isn't available (e.g. the
181
+ * page didn't report a `description`, or the CDP lookup failed).
182
+ */
183
+ async function getWebviewRectFromCdp(driver: AndroidUiautomator2Driver): Promise<Rect | null> {
184
+ let mapping: WebviewsMapping[];
185
+ try {
186
+ mapping = await driver.mobileGetContexts();
187
+ } catch {
188
+ return null;
189
+ }
190
+
191
+ const pages = mapping.find((m) => m.webviewName === driver.curContext)?.pages;
192
+ for (const page of pages ?? []) {
193
+ const raw = (page as StringRecord).description;
194
+ if (typeof raw !== 'string' || !raw) {
195
+ continue;
196
+ }
197
+ let parsed: CdpPageDescription;
198
+ try {
199
+ parsed = JSON.parse(raw);
200
+ } catch {
201
+ continue;
202
+ }
203
+ const {screenX: x, screenY: y, width, height, visible, empty} = parsed;
204
+ if (visible === false || empty === true) {
205
+ continue;
206
+ }
207
+ if (
208
+ typeof x === 'number' &&
209
+ typeof y === 'number' &&
210
+ typeof width === 'number' &&
211
+ typeof height === 'number' &&
212
+ width > 0 &&
213
+ height > 0
214
+ ) {
215
+ return {x, y, width, height};
216
+ }
217
+ }
218
+ return null;
219
+ }
220
+
221
+ /**
222
+ * Finds the on-screen bounding rectangle of the native Android WebView that
223
+ * hosts web content, in native device screen coordinates, via an XPath scan
224
+ * of the native view hierarchy for a class name containing "WebView".
225
+ *
226
+ * There is no reliable way to correlate a native view-hierarchy node with the
227
+ * specific Chromium instance backing the currently active CDP target, so this
228
+ * only succeeds when exactly one non-degenerate (visible, non-zero-area)
229
+ * WebView node is found; it throws rather than guessing if more than one
230
+ * candidate remains, since silently picking the wrong one (e.g. the largest)
231
+ * would translate coordinates using an unrelated WebView's origin and bounds.
232
+ * This call bypasses the active web view context, since it must query the
233
+ * native view hierarchy rather than the DOM. Used only as a fallback when the
234
+ * CDP-reported bounds (see `getWebviewRectFromCdp`) aren't available.
235
+ */
236
+ async function getNativeWebViewRectFromViewHierarchy(driver: AndroidUiautomator2Driver): Promise<Rect> {
237
+ const webViewElements = await driver.findElOrEls('xpath', NATIVE_WEBVIEW_CLASS_SELECTOR, true);
238
+ if (!webViewElements.length) {
239
+ throw new errors.NoSuchElementError('Could not find a native WebView element on screen');
240
+ }
241
+
242
+ // fetched independently per element: one going stale (e.g. the view hierarchy
243
+ // changed between the find and this lookup) must not fail the others
244
+ const settled = await Promise.allSettled(
245
+ webViewElements.map((el) => {
246
+ const elementId = util.unwrapElement(el);
247
+ return driver.uiautomator2.jwproxy.command(`/element/${elementId}/rect`, 'GET') as Promise<Rect>;
248
+ }),
249
+ );
250
+ const rects = settled
251
+ .filter((result): result is PromiseFulfilledResult<Rect> => result.status === 'fulfilled')
252
+ .map((result) => result.value)
253
+ .filter((rect) => rect.width > 0 && rect.height > 0);
254
+ if (!rects.length) {
255
+ throw new errors.NoSuchElementError(
256
+ 'Could not determine the bounds of any visible native WebView element on screen',
257
+ );
258
+ }
259
+ if (rects.length > 1) {
260
+ throw new errors.UnknownError(
261
+ 'Found multiple visible native WebView elements on screen and could not determine which one hosts the ' +
262
+ 'current web view context, since its on-screen bounds were not available via CDP. Ensure only one ' +
263
+ 'WebView is visible on screen at a time, or check that the CDP devtools socket for this web view is reachable.',
264
+ );
265
+ }
266
+ return rects[0];
267
+ }
268
+
269
+ /**
270
+ * Finds the on-screen bounding rectangle of the currently active web view, in
271
+ * native device screen coordinates. Prefers the bounds Chromium itself
272
+ * reports over CDP; falls back to scanning the native view hierarchy only if
273
+ * that data isn't available.
274
+ */
275
+ async function getNativeWebViewRect(driver: AndroidUiautomator2Driver): Promise<Rect> {
276
+ return (await getWebviewRectFromCdp(driver)) ?? (await getNativeWebViewRectFromViewHierarchy(driver));
277
+ }
278
+
279
+ interface WebviewGeometryContext {
280
+ /** Ratio between native device pixels and CSS pixels, per `window.devicePixelRatio`. */
281
+ pixelRatio: number;
282
+ /** The current frame's own horizontal scroll offset, in its own document's CSS pixels. */
283
+ scrollX: number;
284
+ /** The current frame's own vertical scroll offset, in its own document's CSS pixels. */
285
+ scrollY: number;
286
+ /** Sum of each ancestor frame's on-screen horizontal offset within its own parent, up to the first cross-origin ancestor. */
287
+ frameOffsetX: number;
288
+ /** Sum of each ancestor frame's on-screen vertical offset within its own parent, up to the first cross-origin ancestor. */
289
+ frameOffsetY: number;
290
+ /** The page's visual viewport scale, i.e. the current pinch zoom / auto input zoom level. `1` if unzoomed or unsupported. */
291
+ visualScale: number;
292
+ /** The visual viewport's horizontal pan offset from the layout viewport, in CSS pixels. */
293
+ visualOffsetLeft: number;
294
+ /** The visual viewport's vertical pan offset from the layout viewport, in CSS pixels. */
295
+ visualOffsetTop: number;
296
+ }
297
+
298
+ // Walks up window.parent to accumulate same-origin ancestor frame offsets (stopping at the
299
+ // first cross-origin one, which can't be measured from script), then reads devicePixelRatio,
300
+ // the current frame's own scroll, and the outermost reachable window's visual viewport state.
301
+ const GET_WEBVIEW_GEOMETRY_CONTEXT_SCRIPT = `
302
+ var win = window;
303
+ var frameOffsetX = 0;
304
+ var frameOffsetY = 0;
305
+ try {
306
+ while (win !== win.parent) {
307
+ var frameRect = win.frameElement.getBoundingClientRect();
308
+ frameOffsetX += frameRect.left;
309
+ frameOffsetY += frameRect.top;
310
+ win = win.parent;
311
+ }
312
+ } catch (e) {
313
+ // cross-origin ancestor frame; its geometry can't be measured from here
314
+ }
315
+ var visualViewport = win.visualViewport;
316
+ return {
317
+ pixelRatio: window.devicePixelRatio,
318
+ scrollX: window.scrollX,
319
+ scrollY: window.scrollY,
320
+ frameOffsetX: frameOffsetX,
321
+ frameOffsetY: frameOffsetY,
322
+ visualScale: visualViewport ? visualViewport.scale : 1,
323
+ visualOffsetLeft: visualViewport ? visualViewport.offsetLeft : 0,
324
+ visualOffsetTop: visualViewport ? visualViewport.offsetTop : 0,
325
+ };
326
+ `;
327
+
328
+ /**
329
+ * Reads the geometry needed to translate an element's `getElementRect` rectangle
330
+ * (which is relative to its own, possibly nested, document, and unaffected by pinch
331
+ * zoom) into a position within the top-level page's currently visible viewport.
332
+ * Read directly from Chromium itself, rather than assumed from the OS-level display
333
+ * density or a generic viewport rectangle, since none of this can be assumed to stay
334
+ * fixed across zoom, scroll, or frame nesting.
335
+ */
336
+ async function getWebviewGeometryContext(driver: AndroidUiautomator2Driver): Promise<WebviewGeometryContext> {
337
+ const chromedriver = driver.chromedriver as Chromedriver;
338
+ const endpoint = chromedriver.jwproxy.downstreamProtocol === PROTOCOLS.MJSONWP ? '/execute' : '/execute/sync';
339
+ return (await chromedriver.jwproxy.command(endpoint, 'POST', {
340
+ script: GET_WEBVIEW_GEOMETRY_CONTEXT_SCRIPT,
341
+ args: [],
342
+ })) as WebviewGeometryContext;
343
+ }
package/lib/driver.ts CHANGED
@@ -6,7 +6,6 @@ import type {
6
6
  RouteMatcher,
7
7
  SingularSessionData,
8
8
  StringRecord,
9
- SessionCapabilities,
10
9
  } from '@appium/types';
11
10
  import {DEFAULT_ADB_PORT, type ADB} from 'appium-adb';
12
11
  import {AndroidDriver, utils} from 'appium-android-driver';
@@ -89,6 +88,7 @@ import {
89
88
  getWindowRect,
90
89
  getWindowSize,
91
90
  mobileViewPortRect,
91
+ mobileViewportElementRect,
92
92
  } from './commands/viewport.js';
93
93
  import {mobileListWindows, mobileListDisplays} from './commands/windows.js';
94
94
  import UIAUTOMATOR2_CONSTRAINTS, {type Uiautomator2Constraints} from './constraints.js';
@@ -216,7 +216,7 @@ const CHROME_NO_PROXY: RouteMatcher[] = [
216
216
  ];
217
217
 
218
218
  class AndroidUiautomator2Driver
219
- extends AndroidDriver
219
+ extends AndroidDriver<Uiautomator2Constraints>
220
220
  implements ExternalDriver<Uiautomator2Constraints, string, StringRecord>
221
221
  {
222
222
  static newMethodMap = newMethodMap;
@@ -320,6 +320,7 @@ class AndroidUiautomator2Driver
320
320
  getWindowRect = getWindowRect as AndroidDriver['getWindowRect'];
321
321
  getWindowSize = getWindowSize as AndroidDriver['getWindowSize'];
322
322
  mobileViewPortRect = mobileViewPortRect;
323
+ mobileViewportElementRect = mobileViewportElementRect;
323
324
 
324
325
  prepareSessionApp = prepareSessionApp;
325
326
  checkAppPresent = checkAppPresent;
@@ -480,6 +481,12 @@ class AndroidUiautomator2Driver
480
481
  };
481
482
  }
482
483
 
484
+ /**
485
+ * @deprecated Appium's base-driver deprecated `getSession`/`GET /session/:sessionId` in favor
486
+ * of `getAppiumSessionCapabilities`, but third-party drivers may still call this method
487
+ * directly. Keep it around until it is removed along with other Appium 4-related breaking
488
+ * changes.
489
+ */
483
490
  override async getSession(): Promise<SingularSessionData<Uiautomator2Constraints>> {
484
491
  const sessionData = await BaseDriver.prototype.getSession.call(this);
485
492
  this.log.debug('Getting session details from server to mix in');
@@ -648,11 +655,6 @@ class AndroidUiautomator2Driver
648
655
  return {...driverSettings, ...serverSettings};
649
656
  }
650
657
 
651
- // needed to make the typechecker happy
652
- override async getAppiumSessionCapabilities(): Promise<SessionCapabilities<Uiautomator2Constraints>> {
653
- return (await super.getAppiumSessionCapabilities()) as SessionCapabilities<Uiautomator2Constraints>;
654
- }
655
-
656
658
  requireAdb(): ADB {
657
659
  const adb = this.adb;
658
660
  if (!adb) {
@@ -83,6 +83,12 @@ export const executeMethodMap = {
83
83
  'mobile: viewportRect': {
84
84
  command: 'mobileViewPortRect',
85
85
  },
86
+ 'mobile: viewportElementRect': {
87
+ command: 'mobileViewportElementRect',
88
+ params: {
89
+ required: ['elementId'],
90
+ },
91
+ },
86
92
 
87
93
  'mobile: deepLink': {
88
94
  command: 'mobileDeepLink',
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "appium-uiautomator2-driver",
3
- "version": "8.5.2",
3
+ "version": "8.6.1",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "appium-uiautomator2-driver",
9
- "version": "8.5.2",
9
+ "version": "8.6.1",
10
10
  "license": "Apache-2.0",
11
11
  "dependencies": {
12
12
  "@appium/css-locator-to-native": "^1.0.1",
13
13
  "appium-adb": "^16.0.4",
14
- "appium-android-driver": "^14.0.7",
14
+ "appium-android-driver": "^14.0.8",
15
15
  "appium-uiautomator2-server": "^10.6.0",
16
16
  "asyncbox": "^6.4.3",
17
17
  "axios": "^1.18.0",
@@ -400,9 +400,9 @@
400
400
  }
401
401
  },
402
402
  "node_modules/appium-android-driver": {
403
- "version": "14.0.7",
404
- "resolved": "https://registry.npmjs.org/appium-android-driver/-/appium-android-driver-14.0.7.tgz",
405
- "integrity": "sha512-T84wEeeXx23CceWEvQOUAPZ6sVqsTBwau5XT3spEGoL1cTONgOjRgiykpeLEfEW0CiWhH8rYDDfmQCOrl1pDfQ==",
403
+ "version": "14.0.8",
404
+ "resolved": "https://registry.npmjs.org/appium-android-driver/-/appium-android-driver-14.0.8.tgz",
405
+ "integrity": "sha512-e1twOxNd4UFb+fdt/L58s9Z+NI90GqEY/98VMAfE7dXCbY6WC/4TrcV63UUagygcHxl83VfDfo/io+V+7JjoHw==",
406
406
  "license": "Apache-2.0",
407
407
  "dependencies": {
408
408
  "@appium/support": "^7.2.6",
@@ -427,9 +427,9 @@
427
427
  }
428
428
  },
429
429
  "node_modules/appium-chromedriver": {
430
- "version": "9.0.15",
431
- "resolved": "https://registry.npmjs.org/appium-chromedriver/-/appium-chromedriver-9.0.15.tgz",
432
- "integrity": "sha512-cgScH4hrHQrc0kjycanfRi1iL3IFpISE7b1Xa8Loxl9sPOexV1aOXr5Mz3N+y9rGjcO/sO+MEnqxbutDM435nA==",
430
+ "version": "9.0.17",
431
+ "resolved": "https://registry.npmjs.org/appium-chromedriver/-/appium-chromedriver-9.0.17.tgz",
432
+ "integrity": "sha512-3Y/SREmM8QW3XRUN9TrHmXtCmG8z48tRkp3UGNvkIUN5Ob8XxMIkNkHzzP/BXV2RGzGv9ErnzZfnikXlONfXow==",
433
433
  "license": "Apache-2.0",
434
434
  "dependencies": {
435
435
  "@appium/base-driver": "^10.8.0",
@@ -449,9 +449,9 @@
449
449
  }
450
450
  },
451
451
  "node_modules/appium-uiautomator2-server": {
452
- "version": "10.6.2",
453
- "resolved": "https://registry.npmjs.org/appium-uiautomator2-server/-/appium-uiautomator2-server-10.6.2.tgz",
454
- "integrity": "sha512-jEb2F/XQG7LwYcwudt47Wk7wM0Fxvd3g5g0hf2V752Lu4ZgkrcOTd0WPAoQR5LWXaV+o08ARSG2s06A8YIzCNQ==",
452
+ "version": "10.6.4",
453
+ "resolved": "https://registry.npmjs.org/appium-uiautomator2-server/-/appium-uiautomator2-server-10.6.4.tgz",
454
+ "integrity": "sha512-NuMOvAGYv8uW+ruWvD9t3BUU0FG53kL0b+jnBl/+EYix4P1ZX8LpqO2DSbEzCN9fPevX8RDBB7ii6DjRRePLRQ==",
455
455
  "license": "Apache-2.0",
456
456
  "engines": {
457
457
  "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
@@ -616,9 +616,9 @@
616
616
  }
617
617
  },
618
618
  "node_modules/bare-url": {
619
- "version": "2.5.3",
620
- "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.5.3.tgz",
621
- "integrity": "sha512-3absfEzoyFosWT8v83ZcJgbTJxv+S/sI7jBfeCMlUVatSaefRmwweqBhFpMllQv+HTxs/FbbToVOw1c05NORkQ==",
619
+ "version": "2.5.4",
620
+ "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.5.4.tgz",
621
+ "integrity": "sha512-Gxa7UVWBr0/edU1b+TJhn/AZvMQUj9OGspvYsaTYQrAbZA4BOTZGL3LiZxvD+CeMlDH4juwD84+eTAp/bLYW5g==",
622
622
  "license": "Apache-2.0",
623
623
  "dependencies": {
624
624
  "bare-path": "^3.0.0"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appium-uiautomator2-driver",
3
- "version": "8.5.2",
3
+ "version": "8.6.1",
4
4
  "description": "UiAutomator2 integration for Appium",
5
5
  "keywords": [
6
6
  "android",
@@ -62,7 +62,7 @@
62
62
  "dependencies": {
63
63
  "@appium/css-locator-to-native": "^1.0.1",
64
64
  "appium-adb": "^16.0.4",
65
- "appium-android-driver": "^14.0.7",
65
+ "appium-android-driver": "^14.0.8",
66
66
  "appium-uiautomator2-server": "^10.6.0",
67
67
  "asyncbox": "^6.4.3",
68
68
  "axios": "^1.18.0",