appium-uiautomator2-driver 8.5.2 → 8.6.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.
- package/CHANGELOG.md +6 -0
- package/README.md +14 -0
- package/build/lib/commands/viewport.d.ts +26 -0
- package/build/lib/commands/viewport.d.ts.map +1 -1
- package/build/lib/commands/viewport.js +212 -0
- package/build/lib/commands/viewport.js.map +1 -1
- package/build/lib/driver.d.ts +8 -1
- package/build/lib/driver.d.ts.map +1 -1
- package/build/lib/driver.js +2 -1
- package/build/lib/driver.js.map +1 -1
- package/build/lib/execute-method-map.d.ts +6 -0
- package/build/lib/execute-method-map.d.ts.map +1 -1
- package/build/lib/execute-method-map.js +6 -0
- package/build/lib/execute-method-map.js.map +1 -1
- package/lib/commands/viewport.ts +266 -1
- package/lib/driver.ts +2 -0
- package/lib/execute-method-map.ts +6 -0
- package/npm-shrinkwrap.json +8 -8
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## [8.6.0](https://github.com/appium/appium-uiautomator2-driver/compare/v8.5.2...v8.6.0) (2026-09-04)
|
|
2
|
+
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
* 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))
|
|
6
|
+
|
|
1
7
|
## [8.5.2](https://github.com/appium/appium-uiautomator2-driver/compare/v8.5.1...v8.5.2) (2026-09-01)
|
|
2
8
|
|
|
3
9
|
### 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,
|
|
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":"
|
|
1
|
+
{"version":3,"file":"viewport.js","sourceRoot":"","sources":["../../../lib/commands/viewport.ts"],"names":[],"mappings":"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"}
|
package/build/lib/driver.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ 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';
|
|
@@ -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;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,UAAU,EACV,cAAc,EACd,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAmB,KAAK,GAAG,EAAC,MAAM,YAAY,CAAC;AACtD,OAAO,EAAC,aAAa,EAAQ,MAAM,uBAAuB,CAAC;AAI3D,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EAEtB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAC,yBAAyB,EAAC,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAC,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAAC,oBAAoB,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,yBAAyB,CAAC;AACnE,OAAO,EACL,MAAM,EAQN,cAAc,EACd,oBAAoB,EAKpB,KAAK,EACL,yBAAyB,EAC1B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAiC,cAAc,EAAE,UAAU,EAAc,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AACxH,OAAO,EACL,aAAa,EACb,cAAc,EACd,cAAc,EAGd,mBAAmB,EACnB,4BAA4B,EAC5B,6BAA6B,EAC9B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAS,cAAc,EAAE,IAAI,EAAC,MAAM,0BAA0B,CAAC;AACtE,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,aAAa,EACb,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EAEnB,eAAe,EAGf,kBAAkB,
|
|
1
|
+
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"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"}
|
package/build/lib/driver.js
CHANGED
|
@@ -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;
|
package/build/lib/driver.js.map
CHANGED
|
@@ -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
|
|
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":"AACA,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAEpD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,GAAG,aAAa,CAAC,gBAAgB;IAEjC,qBAAqB,EAAE;QACrB,OAAO,EAAE,mBAAmB;QAC5B,MAAM,EAAE;YACN,QAAQ,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;SACrE;KACF;IACD,sBAAsB,EAAE;QACtB,OAAO,EAAE,oBAAoB;QAC7B,MAAM,EAAE;YACN,QAAQ,EAAE,CAAC,WAAW,CAAC;YACvB,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC;SACnE;KACF;IACD,4BAA4B,EAAE;QAC5B,OAAO,EAAE,0BAA0B;QACnC,MAAM,EAAE;YACN,QAAQ,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC;SAClC;KACF;IACD,sBAAsB,EAAE;QACtB,OAAO,EAAE,oBAAoB;QAC7B,MAAM,EAAE;YACN,QAAQ,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC;SAClC;KACF;IACD,0BAA0B,EAAE;QAC1B,OAAO,EAAE,wBAAwB;QACjC,MAAM,EAAE;YACN,QAAQ,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC;SAC9C;KACF;IACD,2BAA2B,EAAE;QAC3B,OAAO,EAAE,yBAAyB;QAClC,MAAM,EAAE;YACN,QAAQ,EAAE,CAAC,SAAS,CAAC;YACrB,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC;SACnE;KACF;IACD,0BAA0B,EAAE;QAC1B,OAAO,EAAE,wBAAwB;QACjC,MAAM,EAAE;YACN,QAAQ,EAAE,CAAC,SAAS,CAAC;YACrB,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC;SACnE;KACF;IACD,sBAAsB,EAAE;QACtB,OAAO,EAAE,oBAAoB;QAC7B,MAAM,EAAE;YACN,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC;YAClC,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC;SACnE;KACF;IACD,uBAAuB,EAAE;QACvB,OAAO,EAAE,qBAAqB;QAC9B,MAAM,EAAE;YACN,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC;YAClC,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC;SACnE;KACF;IACD,sBAAsB,EAAE;QACtB,OAAO,EAAE,oBAAoB;QAC7B,MAAM,EAAE;YACN,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC;SACvC;KACF;IACD,gBAAgB,EAAE;QAChB,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE;YACN,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;YAClC,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;SACrC;KACF;IAED,4BAA4B,EAAE;QAC5B,OAAO,EAAE,0BAA0B;KACpC;IACD,sBAAsB,EAAE;QACtB,OAAO,EAAE,oBAAoB;KAC9B;IAED,kBAAkB,EAAE;QAClB,OAAO,EAAE,gBAAgB;QACzB,MAAM,EAAE;YACN,QAAQ,EAAE,CAAC,KAAK,CAAC;YACjB,QAAQ,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC;SACvC;KACF;IAED,qBAAqB,EAAE;QACrB,OAAO,EAAE,mBAAmB;QAC5B,MAAM,EAAE;YACN,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IACD,sBAAsB,EAAE;QACtB,OAAO,EAAE,oBAAoB;QAC7B,MAAM,EAAE;YACN,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IAED,qBAAqB,EAAE;QACrB,OAAO,EAAE,sBAAsB;KAChC;IAED,oBAAoB,EAAE;QACpB,OAAO,EAAE,qBAAqB;KAC/B;IAED,gCAAgC,EAAE;QAChC,OAAO,EAAE,8BAA8B;KACxC;IAED,2BAA2B,EAAE;QAC3B,OAAO,EAAE,mBAAmB;KAC7B;IAED,cAAc,EAAE;QACd,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE;YACN,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF;IACD,6BAA6B,EAAE;QAC7B,OAAO,EAAE,2BAA2B;QACpC,MAAM,EAAE;YACN,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;SAChC;KACF;IAED,6BAA6B,EAAE;QAC7B,OAAO,EAAE,2BAA2B;QACpC,MAAM,EAAE;YACN,QAAQ,EAAE,CAAC,MAAM,CAAC;YAClB,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB;KACF;IAED,kBAAkB,EAAE;QAClB,OAAO,EAAE,gBAAgB;QACzB,MAAM,EAAE;YACN,QAAQ,EAAE,CAAC,SAAS,CAAC;YACrB,QAAQ,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC;SAC1D;KACF;IAED,qBAAqB,EAAE;QACrB,OAAO,EAAE,mBAAmB;QAC5B,MAAM,EAAE;YACN,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB;KACF;IAED,wBAAwB,EAAE;QACxB,OAAO,EAAE,sBAAsB;QAC/B,MAAM,EAAE;YACN,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;YAC3B,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,iBAAiB,CAAC;SAC3E;KACF;IACD,0BAA0B,EAAE;QAC1B,OAAO,EAAE,wBAAwB;QACjC,MAAM,EAAE;YACN,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF;IACD,0BAA0B,EAAE;QAC1B,OAAO,EAAE,wBAAwB;QACjC,MAAM,EAAE;YACN,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF;IAED,sBAAsB,EAAE;QACtB,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE;YACN,QAAQ,EAAE,CAAC,SAAS,CAAC;YACrB,QAAQ,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;SACnC;KACF;IACD,sBAAsB,EAAE;QACtB,OAAO,EAAE,cAAc;KACxB;IAED,iCAAiC,EAAE;QACjC,OAAO,EAAE,+BAA+B;KACzC;IAED,qBAAqB,EAAE;QACrB,OAAO,EAAE,mBAAmB;QAC5B,MAAM,EAAE;YACN,QAAQ,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC;SACzC;KACF;IAED,sBAAsB,EAAE;QACtB,OAAO,EAAE,oBAAoB;KAC9B;CACuC,CAAC"}
|
|
1
|
+
{"version":3,"file":"execute-method-map.js","sourceRoot":"","sources":["../../lib/execute-method-map.ts"],"names":[],"mappings":"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"}
|
package/lib/commands/viewport.ts
CHANGED
|
@@ -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
|
@@ -89,6 +89,7 @@ import {
|
|
|
89
89
|
getWindowRect,
|
|
90
90
|
getWindowSize,
|
|
91
91
|
mobileViewPortRect,
|
|
92
|
+
mobileViewportElementRect,
|
|
92
93
|
} from './commands/viewport.js';
|
|
93
94
|
import {mobileListWindows, mobileListDisplays} from './commands/windows.js';
|
|
94
95
|
import UIAUTOMATOR2_CONSTRAINTS, {type Uiautomator2Constraints} from './constraints.js';
|
|
@@ -320,6 +321,7 @@ class AndroidUiautomator2Driver
|
|
|
320
321
|
getWindowRect = getWindowRect as AndroidDriver['getWindowRect'];
|
|
321
322
|
getWindowSize = getWindowSize as AndroidDriver['getWindowSize'];
|
|
322
323
|
mobileViewPortRect = mobileViewPortRect;
|
|
324
|
+
mobileViewportElementRect = mobileViewportElementRect;
|
|
323
325
|
|
|
324
326
|
prepareSessionApp = prepareSessionApp;
|
|
325
327
|
checkAppPresent = checkAppPresent;
|
|
@@ -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',
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "appium-uiautomator2-driver",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.6.0",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "appium-uiautomator2-driver",
|
|
9
|
-
"version": "8.
|
|
9
|
+
"version": "8.6.0",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@appium/css-locator-to-native": "^1.0.1",
|
|
@@ -427,9 +427,9 @@
|
|
|
427
427
|
}
|
|
428
428
|
},
|
|
429
429
|
"node_modules/appium-chromedriver": {
|
|
430
|
-
"version": "9.0.
|
|
431
|
-
"resolved": "https://registry.npmjs.org/appium-chromedriver/-/appium-chromedriver-9.0.
|
|
432
|
-
"integrity": "sha512-
|
|
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",
|
|
@@ -616,9 +616,9 @@
|
|
|
616
616
|
}
|
|
617
617
|
},
|
|
618
618
|
"node_modules/bare-url": {
|
|
619
|
-
"version": "2.5.
|
|
620
|
-
"resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.5.
|
|
621
|
-
"integrity": "sha512-
|
|
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"
|