appium-uiautomator2-driver 2.29.10 → 2.30.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 +14 -0
- package/build/index.d.ts +4 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +8 -16
- package/build/index.js.map +1 -0
- package/build/lib/commands/actions.d.ts +2 -0
- package/build/lib/commands/actions.d.ts.map +1 -0
- package/build/lib/commands/actions.js +67 -65
- package/build/lib/commands/actions.js.map +1 -1
- package/build/lib/commands/alert.d.ts +2 -0
- package/build/lib/commands/alert.d.ts.map +1 -0
- package/build/lib/commands/alert.js +28 -29
- package/build/lib/commands/alert.js.map +1 -1
- package/build/lib/commands/app-strings.d.ts +3 -0
- package/build/lib/commands/app-strings.d.ts.map +1 -0
- package/build/lib/commands/app-strings.js +86 -58
- package/build/lib/commands/app-strings.js.map +1 -1
- package/build/lib/commands/battery.d.ts +2 -0
- package/build/lib/commands/battery.d.ts.map +1 -0
- package/build/lib/commands/battery.js +26 -18
- package/build/lib/commands/battery.js.map +1 -1
- package/build/lib/commands/element.d.ts +2 -0
- package/build/lib/commands/element.d.ts.map +1 -0
- package/build/lib/commands/element.js +140 -162
- package/build/lib/commands/element.js.map +1 -1
- package/build/lib/commands/find.d.ts +2 -0
- package/build/lib/commands/find.d.ts.map +1 -0
- package/build/lib/commands/find.js +39 -27
- package/build/lib/commands/find.js.map +1 -1
- package/build/lib/commands/general.d.ts +4 -0
- package/build/lib/commands/general.d.ts.map +1 -0
- package/build/lib/commands/general.js +217 -216
- package/build/lib/commands/general.js.map +1 -1
- package/build/lib/commands/gestures.d.ts +2 -0
- package/build/lib/commands/gestures.d.ts.map +1 -0
- package/build/lib/commands/gestures.js +206 -194
- package/build/lib/commands/gestures.js.map +1 -1
- package/build/lib/commands/index.d.ts +2 -0
- package/build/lib/commands/index.d.ts.map +1 -0
- package/build/lib/commands/index.js +13 -23
- package/build/lib/commands/index.js.map +1 -1
- package/build/lib/commands/mixins.d.ts +84 -0
- package/build/lib/commands/mixins.d.ts.map +1 -0
- package/build/lib/commands/mixins.js +23 -0
- package/build/lib/commands/mixins.js.map +1 -0
- package/build/lib/commands/screenshot.d.ts +2 -0
- package/build/lib/commands/screenshot.d.ts.map +1 -0
- package/build/lib/commands/screenshot.js +77 -63
- package/build/lib/commands/screenshot.js.map +1 -1
- package/build/lib/commands/touch.d.ts +2 -0
- package/build/lib/commands/touch.d.ts.map +1 -0
- package/build/lib/commands/touch.js +48 -39
- package/build/lib/commands/touch.js.map +1 -1
- package/build/lib/commands/types.d.ts +452 -0
- package/build/lib/commands/types.d.ts.map +1 -0
- package/build/lib/commands/types.js +3 -0
- package/build/lib/commands/types.js.map +1 -0
- package/build/lib/commands/viewport.d.ts +2 -0
- package/build/lib/commands/viewport.d.ts.map +1 -0
- package/build/lib/commands/viewport.js +37 -37
- package/build/lib/commands/viewport.js.map +1 -1
- package/build/lib/constraints.d.ts +334 -0
- package/build/lib/constraints.d.ts.map +1 -0
- package/build/lib/constraints.js +51 -0
- package/build/lib/constraints.js.map +1 -0
- package/build/lib/css-converter.d.ts +45 -0
- package/build/lib/css-converter.d.ts.map +1 -0
- package/build/lib/css-converter.js +272 -176
- package/build/lib/css-converter.js.map +1 -1
- package/build/lib/driver.d.ts +912 -0
- package/build/lib/driver.d.ts.map +1 -0
- package/build/lib/driver.js +738 -483
- package/build/lib/driver.js.map +1 -1
- package/build/lib/execute-method-map.d.ts +477 -0
- package/build/lib/execute-method-map.d.ts.map +1 -0
- package/build/lib/execute-method-map.js +542 -0
- package/build/lib/execute-method-map.js.map +1 -0
- package/build/lib/extensions.d.ts +3 -0
- package/build/lib/extensions.d.ts.map +1 -0
- package/build/lib/extensions.js +3 -7
- package/build/lib/extensions.js.map +1 -1
- package/build/lib/helpers.d.ts +7 -0
- package/build/lib/helpers.d.ts.map +1 -0
- package/build/lib/helpers.js +36 -30
- package/build/lib/helpers.js.map +1 -1
- package/build/lib/logger.d.ts +3 -0
- package/build/lib/logger.d.ts.map +1 -0
- package/build/lib/logger.js +5 -11
- package/build/lib/logger.js.map +1 -1
- package/build/lib/method-map.d.ts +389 -0
- package/build/lib/method-map.d.ts.map +1 -0
- package/build/lib/method-map.js +11 -18
- package/build/lib/method-map.js.map +1 -1
- package/build/lib/types.d.ts +45 -0
- package/build/lib/types.d.ts.map +1 -0
- package/build/lib/types.js +3 -0
- package/build/lib/types.js.map +1 -0
- package/build/lib/uiautomator2.d.ts +45 -0
- package/build/lib/uiautomator2.d.ts.map +1 -0
- package/build/lib/uiautomator2.js +334 -297
- package/build/lib/uiautomator2.js.map +1 -1
- package/build/lib/utils.d.ts +10 -0
- package/build/lib/utils.d.ts.map +1 -0
- package/build/lib/utils.js +23 -16
- package/build/lib/utils.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -0
- package/index.js +5 -3
- package/lib/commands/actions.js +115 -101
- package/lib/commands/alert.js +36 -44
- package/lib/commands/app-strings.js +79 -58
- package/lib/commands/battery.js +27 -28
- package/lib/commands/element.js +231 -134
- package/lib/commands/find.js +40 -21
- package/lib/commands/general.js +271 -336
- package/lib/commands/gestures.js +252 -366
- package/lib/commands/index.js +11 -31
- package/lib/commands/mixins.ts +167 -0
- package/lib/commands/screenshot.js +80 -76
- package/lib/commands/touch.js +64 -31
- package/lib/commands/types.ts +473 -0
- package/lib/commands/viewport.js +43 -31
- package/lib/constraints.ts +53 -0
- package/lib/css-converter.js +9 -1
- package/lib/{driver.js → driver.ts} +383 -225
- package/lib/execute-method-map.ts +573 -0
- package/lib/method-map.ts +11 -0
- package/lib/types.ts +59 -0
- package/lib/uiautomator2.js +21 -2
- package/lib/utils.js +2 -2
- package/npm-shrinkwrap.json +396 -528
- package/package.json +96 -70
- package/build/lib/desired-caps.js +0 -72
- package/build/lib/desired-caps.js.map +0 -1
- package/lib/desired-caps.js +0 -70
- package/lib/method-map.js +0 -11
|
@@ -0,0 +1,452 @@
|
|
|
1
|
+
import { Rect, StringRecord } from '@appium/types';
|
|
2
|
+
/**
|
|
3
|
+
* Represents options for pressing a key on an Android device.
|
|
4
|
+
*/
|
|
5
|
+
export interface PressKeyOptions {
|
|
6
|
+
/**
|
|
7
|
+
* A valid Android key code. See https://developer.android.com/reference/android/view/KeyEvent
|
|
8
|
+
* for the list of available key codes.
|
|
9
|
+
*/
|
|
10
|
+
keycode: number;
|
|
11
|
+
/**
|
|
12
|
+
* An integer in which each bit set to 1 represents a pressed meta key. See
|
|
13
|
+
* https://developer.android.com/reference/android/view/KeyEvent for more details.
|
|
14
|
+
*/
|
|
15
|
+
metastate?: number;
|
|
16
|
+
/**
|
|
17
|
+
* Flags for the particular key event. See
|
|
18
|
+
* https://developer.android.com/reference/android/view/KeyEvent for more details.
|
|
19
|
+
*/
|
|
20
|
+
flags?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Whether to emulate long key press. Defaults to `false`.
|
|
23
|
+
*/
|
|
24
|
+
isLongPress: boolean;
|
|
25
|
+
}
|
|
26
|
+
export interface AcceptAlertOptions {
|
|
27
|
+
/**
|
|
28
|
+
* The name of the button to click in order to accept the alert. If the name is not provided
|
|
29
|
+
* then the script will try to detect the button automatically.
|
|
30
|
+
*/
|
|
31
|
+
buttonLabel?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface DismissAlertOptions {
|
|
34
|
+
/**
|
|
35
|
+
* The name of the button to click in order to dismiss the alert. If the name is not provided
|
|
36
|
+
* then the script will try to detect the button automatically.
|
|
37
|
+
*/
|
|
38
|
+
buttonLabel?: string;
|
|
39
|
+
}
|
|
40
|
+
export interface GetAppStringsOptions {
|
|
41
|
+
/**
|
|
42
|
+
* The language abbreviation to fetch app strings mapping for. If no
|
|
43
|
+
* language is provided then strings for the default language on the device under test
|
|
44
|
+
* would be returned. Examples: en, fr
|
|
45
|
+
*/
|
|
46
|
+
language?: string;
|
|
47
|
+
}
|
|
48
|
+
export type BatteryState = -1 | 1 | 2 | 3 | 4 | 5;
|
|
49
|
+
export interface BatteryInfo {
|
|
50
|
+
/**
|
|
51
|
+
* Battery level in range [0.0, 1.0], where 1.0 means 100% charge.
|
|
52
|
+
* -1 is returned if the actual value cannot be retrieved from the system.
|
|
53
|
+
*/
|
|
54
|
+
level: number;
|
|
55
|
+
/**
|
|
56
|
+
* Battery state. The following values are possible:
|
|
57
|
+
* BATTERY_STATUS_UNKNOWN = 1
|
|
58
|
+
* BATTERY_STATUS_CHARGING = 2
|
|
59
|
+
* BATTERY_STATUS_DISCHARGING = 3
|
|
60
|
+
* BATTERY_STATUS_NOT_CHARGING = 4
|
|
61
|
+
* BATTERY_STATUS_FULL = 5
|
|
62
|
+
* -1 is returned if the actual value cannot be retrieved from the system.
|
|
63
|
+
*/
|
|
64
|
+
state: BatteryState;
|
|
65
|
+
}
|
|
66
|
+
export interface ReplaceValueOptions {
|
|
67
|
+
/**
|
|
68
|
+
* The id of the element whose content will be replaced.
|
|
69
|
+
*/
|
|
70
|
+
elementId: string;
|
|
71
|
+
/**
|
|
72
|
+
* The actual text to set.
|
|
73
|
+
*/
|
|
74
|
+
text: string;
|
|
75
|
+
}
|
|
76
|
+
export type MapKey<T, K extends keyof T, N extends string> = Pick<T, Exclude<keyof T, K>> & {
|
|
77
|
+
[P in N]: T[K];
|
|
78
|
+
};
|
|
79
|
+
export interface DeepLinkOpts {
|
|
80
|
+
/**
|
|
81
|
+
* The name of URL to start.
|
|
82
|
+
*/
|
|
83
|
+
url: string;
|
|
84
|
+
/**
|
|
85
|
+
* The name of the package to start the URI with.
|
|
86
|
+
*/
|
|
87
|
+
package: string;
|
|
88
|
+
/**
|
|
89
|
+
* If `false` then adb won't wait for the started activity to return the control.
|
|
90
|
+
* @defaultValue true
|
|
91
|
+
*/
|
|
92
|
+
waitForLaunch?: boolean;
|
|
93
|
+
}
|
|
94
|
+
export interface TypingOptions {
|
|
95
|
+
/**
|
|
96
|
+
* The text to type. Can be a string, number or boolean.
|
|
97
|
+
*/
|
|
98
|
+
text: string | number | boolean;
|
|
99
|
+
}
|
|
100
|
+
export interface InstallOptions {
|
|
101
|
+
/**
|
|
102
|
+
* Set to true in order to allow test packages installation.
|
|
103
|
+
* @defaultValue false
|
|
104
|
+
*/
|
|
105
|
+
allowTestPackages?: boolean;
|
|
106
|
+
/**
|
|
107
|
+
* Set to true to install the app on sdcard instead of the device memory.
|
|
108
|
+
* @defaultValue false
|
|
109
|
+
*/
|
|
110
|
+
useSdcard?: boolean;
|
|
111
|
+
/**
|
|
112
|
+
* Set to true in order to grant all the permissions requested in the application's manifest
|
|
113
|
+
* automatically after the installation is completed under Android 6+.
|
|
114
|
+
* @defaultValue false
|
|
115
|
+
*/
|
|
116
|
+
grantPermissions?: boolean;
|
|
117
|
+
/**
|
|
118
|
+
* Set it to false if you don't want the application to be upgraded/reinstalled
|
|
119
|
+
* if it is already present on the device.
|
|
120
|
+
* @defaultValue true
|
|
121
|
+
*/
|
|
122
|
+
replace?: boolean;
|
|
123
|
+
/**
|
|
124
|
+
* Install apks partially. It is used for 'install-multiple'.
|
|
125
|
+
* https://android.stackexchange.com/questions/111064/what-is-a-partial-application-install-via-adb
|
|
126
|
+
* @defaultValue false
|
|
127
|
+
*/
|
|
128
|
+
partialInstall?: boolean;
|
|
129
|
+
}
|
|
130
|
+
export interface InstallMultipleApksOptions {
|
|
131
|
+
/**
|
|
132
|
+
* The list of APKs to install. Each APK should be a path to a apk
|
|
133
|
+
* or downloadable URL as HTTP/HTTPS.
|
|
134
|
+
*/
|
|
135
|
+
apks: string[];
|
|
136
|
+
/**
|
|
137
|
+
* The installation options.
|
|
138
|
+
*/
|
|
139
|
+
options?: InstallOptions;
|
|
140
|
+
}
|
|
141
|
+
export interface BackgroundAppOptions {
|
|
142
|
+
/**
|
|
143
|
+
* The amount of seconds to wait between putting the app to background and restoring it.
|
|
144
|
+
* Any negative value means to not restore the app after putting it to background.
|
|
145
|
+
* @defaultValue -1
|
|
146
|
+
*/
|
|
147
|
+
seconds?: number;
|
|
148
|
+
}
|
|
149
|
+
export interface ClickOptions {
|
|
150
|
+
/**
|
|
151
|
+
* The id of the element to be clicked. If the element is missing then both click offset coordinates must be provided. If both the element id and offset are provided then the coordinates are parsed as relative offsets from the top left corner of the element.
|
|
152
|
+
*/
|
|
153
|
+
elementId?: string;
|
|
154
|
+
/**
|
|
155
|
+
* The x coordinate to click on.
|
|
156
|
+
*/
|
|
157
|
+
x?: number;
|
|
158
|
+
/**
|
|
159
|
+
* The y coordinate to click on.
|
|
160
|
+
*/
|
|
161
|
+
y?: number;
|
|
162
|
+
}
|
|
163
|
+
export interface LongClickOptions {
|
|
164
|
+
/**
|
|
165
|
+
* The id of the element to be clicked.
|
|
166
|
+
* If the element is missing then both click offset coordinates must be provided.
|
|
167
|
+
* If both the element id and offset are provided then the coordinates
|
|
168
|
+
* are parsed as relative offsets from the top left corner of the element.
|
|
169
|
+
*/
|
|
170
|
+
elementId?: string;
|
|
171
|
+
/**
|
|
172
|
+
* The x coordinate to click on.
|
|
173
|
+
*/
|
|
174
|
+
x?: number;
|
|
175
|
+
/**
|
|
176
|
+
* The y coordinate to click on.
|
|
177
|
+
*/
|
|
178
|
+
y?: number;
|
|
179
|
+
/**
|
|
180
|
+
* Click duration in milliseconds. The value must not be negative.
|
|
181
|
+
* Default is 500.
|
|
182
|
+
*/
|
|
183
|
+
duration?: number;
|
|
184
|
+
}
|
|
185
|
+
export type DoubleClickOptions = ClickOptions;
|
|
186
|
+
export interface DragOptions {
|
|
187
|
+
/**
|
|
188
|
+
* The id of the element to be dragged.
|
|
189
|
+
* If the element id is missing then the start coordinates must be provided.
|
|
190
|
+
* If both the element id and the start coordinates are provided then these
|
|
191
|
+
* coordinates are considered as offsets from the top left element corner.
|
|
192
|
+
*/
|
|
193
|
+
elementId?: string;
|
|
194
|
+
/**
|
|
195
|
+
* The x coordinate where the dragging starts
|
|
196
|
+
*/
|
|
197
|
+
startX?: number;
|
|
198
|
+
/**
|
|
199
|
+
* The y coordinate where the dragging starts
|
|
200
|
+
*/
|
|
201
|
+
startY?: number;
|
|
202
|
+
/**
|
|
203
|
+
* The x coordinate where the dragging ends
|
|
204
|
+
*/
|
|
205
|
+
endX?: number;
|
|
206
|
+
/**
|
|
207
|
+
* The y coordinate where the dragging ends
|
|
208
|
+
*/
|
|
209
|
+
endY?: number;
|
|
210
|
+
/**
|
|
211
|
+
* The speed at which to perform this gesture in pixels per second.
|
|
212
|
+
* The value must not be negative.
|
|
213
|
+
* Default is 2500 * displayDensity.
|
|
214
|
+
*/
|
|
215
|
+
speed?: number;
|
|
216
|
+
}
|
|
217
|
+
export interface FlingOptions {
|
|
218
|
+
/**
|
|
219
|
+
* The id of the element to be flinged.
|
|
220
|
+
* If the element id is missing then fling bounding area must be provided.
|
|
221
|
+
* If both the element id and the fling bounding area are provided then this
|
|
222
|
+
* area is effectively ignored.
|
|
223
|
+
*/
|
|
224
|
+
elementId?: string;
|
|
225
|
+
/**
|
|
226
|
+
* The left coordinate of the fling bounding area.
|
|
227
|
+
*/
|
|
228
|
+
left?: number;
|
|
229
|
+
/**
|
|
230
|
+
* The top coordinate of the fling bounding area.
|
|
231
|
+
*/
|
|
232
|
+
top?: number;
|
|
233
|
+
/**
|
|
234
|
+
* The width of the fling bounding area.
|
|
235
|
+
*/
|
|
236
|
+
width?: number;
|
|
237
|
+
/**
|
|
238
|
+
* The height of the fling bounding area.
|
|
239
|
+
*/
|
|
240
|
+
height?: number;
|
|
241
|
+
/**
|
|
242
|
+
* Direction of the fling.
|
|
243
|
+
* Acceptable values are: `up`, `down`, `left` and `right` (case insensitive).
|
|
244
|
+
*/
|
|
245
|
+
direction: string;
|
|
246
|
+
/**
|
|
247
|
+
* The speed at which to perform this gesture in pixels per second.
|
|
248
|
+
* The value must be greater than the minimum fling velocity for the given view (50 by default).
|
|
249
|
+
* Default is 7500 * displayDensity.
|
|
250
|
+
*/
|
|
251
|
+
speed?: number;
|
|
252
|
+
}
|
|
253
|
+
export interface PinchOptions {
|
|
254
|
+
/**
|
|
255
|
+
* The id of the element to be pinched.
|
|
256
|
+
* If the element id is missing then pinch bounding area must be provided.
|
|
257
|
+
* If both the element id and the pinch bounding area are provided then the
|
|
258
|
+
* area is effectively ignored.
|
|
259
|
+
*/
|
|
260
|
+
elementId?: string;
|
|
261
|
+
/**
|
|
262
|
+
* The left coordinate of the pinch bounding area.
|
|
263
|
+
*/
|
|
264
|
+
left?: number;
|
|
265
|
+
/**
|
|
266
|
+
* The top coordinate of the pinch bounding area.
|
|
267
|
+
*/
|
|
268
|
+
top?: number;
|
|
269
|
+
/**
|
|
270
|
+
* The width of the pinch bounding area.
|
|
271
|
+
*/
|
|
272
|
+
width?: number;
|
|
273
|
+
/**
|
|
274
|
+
* The height of the pinch bounding area.
|
|
275
|
+
*/
|
|
276
|
+
height?: number;
|
|
277
|
+
/**
|
|
278
|
+
* The size of the pinch as a percentage of the pinch area size.
|
|
279
|
+
* Valid values must be float numbers in range 0..1, where 1.0 is 100%
|
|
280
|
+
*/
|
|
281
|
+
percent: number;
|
|
282
|
+
/**
|
|
283
|
+
* The speed at which to perform this gesture in pixels per second.
|
|
284
|
+
* The value must not be negative.
|
|
285
|
+
* Default is 2500 * displayDensity.
|
|
286
|
+
*/
|
|
287
|
+
speed?: number;
|
|
288
|
+
}
|
|
289
|
+
export interface SwipeOptions {
|
|
290
|
+
/**
|
|
291
|
+
* The id of the element to be swiped.
|
|
292
|
+
* If the element id is missing then swipe bounding area must be provided.
|
|
293
|
+
* If both the element id and the swipe bounding area are provided then the
|
|
294
|
+
* area is effectively ignored.
|
|
295
|
+
*/
|
|
296
|
+
elementId?: string;
|
|
297
|
+
/**
|
|
298
|
+
* The left coordinate of the swipe bounding area.
|
|
299
|
+
*/
|
|
300
|
+
left?: number;
|
|
301
|
+
/**
|
|
302
|
+
* The top coordinate of the swipe bounding area.
|
|
303
|
+
*/
|
|
304
|
+
top?: number;
|
|
305
|
+
/**
|
|
306
|
+
* The width of the swipe bounding area.
|
|
307
|
+
*/
|
|
308
|
+
width?: number;
|
|
309
|
+
/**
|
|
310
|
+
* The height of the swipe bounding area.
|
|
311
|
+
*/
|
|
312
|
+
height?: number;
|
|
313
|
+
/**
|
|
314
|
+
* Direction of the swipe.
|
|
315
|
+
* Acceptable values are: `up`, `down`, `left` and `right` (case insensitive).
|
|
316
|
+
*/
|
|
317
|
+
direction: string;
|
|
318
|
+
/**
|
|
319
|
+
* The size of the swipe as a percentage of the swipe area size.
|
|
320
|
+
* Valid values must be float numbers in range 0..1, where 1.0 is 100%.
|
|
321
|
+
*/
|
|
322
|
+
percent: number;
|
|
323
|
+
/**
|
|
324
|
+
* The speed at which to perform this gesture in pixels per second.
|
|
325
|
+
* The value must not be negative.
|
|
326
|
+
* Default is 5000 * displayDensity.
|
|
327
|
+
*/
|
|
328
|
+
speed?: number;
|
|
329
|
+
}
|
|
330
|
+
export interface ScrollGestureOptions {
|
|
331
|
+
/**
|
|
332
|
+
* The id of the element to be scrolled.
|
|
333
|
+
* If the element id is missing then scroll bounding area must be provided.
|
|
334
|
+
* If both the element id and the scroll bounding area are provided then this
|
|
335
|
+
* area is effectively ignored.
|
|
336
|
+
*/
|
|
337
|
+
elementId?: string;
|
|
338
|
+
/**
|
|
339
|
+
* The left coordinate of the scroll bounding area.
|
|
340
|
+
*/
|
|
341
|
+
left?: number;
|
|
342
|
+
/**
|
|
343
|
+
* The top coordinate of the scroll bounding area.
|
|
344
|
+
*/
|
|
345
|
+
top?: number;
|
|
346
|
+
/**
|
|
347
|
+
* The width of the scroll bounding area.
|
|
348
|
+
*/
|
|
349
|
+
width?: number;
|
|
350
|
+
/**
|
|
351
|
+
* The height of the scroll bounding area.
|
|
352
|
+
*/
|
|
353
|
+
height?: number;
|
|
354
|
+
/**
|
|
355
|
+
* Direction of the scroll.
|
|
356
|
+
* Acceptable values are: `up`, `down`, `left` and `right` (case insensitive).
|
|
357
|
+
*/
|
|
358
|
+
direction: string;
|
|
359
|
+
/**
|
|
360
|
+
* The size of the scroll as a percentage of the scrolling area size.
|
|
361
|
+
* Valid values must be float numbers greater than zero, where 1.0 is 100%.
|
|
362
|
+
*/
|
|
363
|
+
percent: number;
|
|
364
|
+
/**
|
|
365
|
+
* The speed at which to perform this gesture in pixels per second.
|
|
366
|
+
* The value must not be negative.
|
|
367
|
+
* Default is 5000 * displayDensity.
|
|
368
|
+
*/
|
|
369
|
+
speed?: number;
|
|
370
|
+
}
|
|
371
|
+
export interface ScrollElementToElementOpts {
|
|
372
|
+
/**
|
|
373
|
+
* The identifier of the scrollable element, which is going to be scrolled.
|
|
374
|
+
* It is required this element is a valid scrollable container and it was located
|
|
375
|
+
* by `-android uiautomator` strategy.
|
|
376
|
+
*/
|
|
377
|
+
elementId: string;
|
|
378
|
+
/**
|
|
379
|
+
* The identifier of the item, which belongs to the scrollable element above,
|
|
380
|
+
* and which should become visible after the scrolling operation is finished.
|
|
381
|
+
* It is required this element was located by `-android uiautomator` strategy.
|
|
382
|
+
*/
|
|
383
|
+
elementToId: string;
|
|
384
|
+
}
|
|
385
|
+
export interface ScrollOptions {
|
|
386
|
+
/**
|
|
387
|
+
* The identifier of an element. It is required this element is a valid scrollable container
|
|
388
|
+
* and it was located by `-android uiautomator` strategy.
|
|
389
|
+
* If this property is not provided then the first currently available scrollable view
|
|
390
|
+
* is selected for the interaction.
|
|
391
|
+
*/
|
|
392
|
+
elementId?: string;
|
|
393
|
+
/**
|
|
394
|
+
* The following strategies are supported:
|
|
395
|
+
* - `accessibility id` (UiSelector().description)
|
|
396
|
+
* - `class name` (UiSelector().className)
|
|
397
|
+
* - `-android uiautomator` (UiSelector)
|
|
398
|
+
*/
|
|
399
|
+
strategy: string;
|
|
400
|
+
/**
|
|
401
|
+
* The corresponding lookup value for the given strategy.
|
|
402
|
+
*/
|
|
403
|
+
selector: string;
|
|
404
|
+
/**
|
|
405
|
+
* The maximum number of swipes to perform on the target scrollable view in order to reach
|
|
406
|
+
* the destination element. In case this value is unset then it would be retrieved from the
|
|
407
|
+
* scrollable element itself (via `getMaxSearchSwipes()` property).
|
|
408
|
+
*/
|
|
409
|
+
maxSwipes?: number;
|
|
410
|
+
/**
|
|
411
|
+
* @deprecated
|
|
412
|
+
*/
|
|
413
|
+
element?: string;
|
|
414
|
+
}
|
|
415
|
+
export type RelativeRect = Pick<Rect, 'width' | 'height'> & {
|
|
416
|
+
left: Rect['x'];
|
|
417
|
+
top: Rect['y'];
|
|
418
|
+
};
|
|
419
|
+
export interface Screenshot {
|
|
420
|
+
/**
|
|
421
|
+
* Display identifier
|
|
422
|
+
*/
|
|
423
|
+
id: string;
|
|
424
|
+
/**
|
|
425
|
+
* Display name
|
|
426
|
+
*/
|
|
427
|
+
name?: string;
|
|
428
|
+
/**
|
|
429
|
+
* Is this the default display
|
|
430
|
+
*/
|
|
431
|
+
isDefault: boolean;
|
|
432
|
+
/**
|
|
433
|
+
* Actual PNG screenshot encoded as base64
|
|
434
|
+
*/
|
|
435
|
+
payload: string;
|
|
436
|
+
}
|
|
437
|
+
export interface ScreenshotsOpts {
|
|
438
|
+
/**
|
|
439
|
+
* Android display identifier to take a screenshot for.
|
|
440
|
+
* If not provided then screenshots of all displays are going to be returned.
|
|
441
|
+
* If no matches were found then an error is thrown.
|
|
442
|
+
*/
|
|
443
|
+
displayId?: number | string;
|
|
444
|
+
}
|
|
445
|
+
export interface ActionResult {
|
|
446
|
+
repeats: number;
|
|
447
|
+
stepResults: StringRecord[][];
|
|
448
|
+
}
|
|
449
|
+
export interface ActionArgs {
|
|
450
|
+
name: string;
|
|
451
|
+
}
|
|
452
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/commands/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../lib/commands/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewport.d.ts","sourceRoot":"","sources":["../../../lib/commands/viewport.js"],"names":[],"mappings":""}
|
|
@@ -1,39 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
2
|
+
// @ts-check
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
const support_1 = require("appium/support");
|
|
5
|
+
const mixins_1 = require("./mixins");
|
|
6
|
+
/**
|
|
7
|
+
* @type {import('./mixins').UIA2ViewportMixin}
|
|
8
|
+
* @satisfies {import('@appium/types').ExternalDriver}
|
|
9
|
+
*/
|
|
10
|
+
const ViewportMixin = {
|
|
11
|
+
// memoized in constructor
|
|
12
|
+
async getStatusBarHeight() {
|
|
13
|
+
const { statusBar } = /** @type {{statusBar: number}} */ (await /** @type {import('../uiautomator2').UiAutomator2Server} */ (this.uiautomator2).jwproxy.command(`/appium/device/system_bars`, 'GET', {}));
|
|
14
|
+
return statusBar;
|
|
15
|
+
},
|
|
16
|
+
// memoized in constructor
|
|
17
|
+
async getDevicePixelRatio() {
|
|
18
|
+
return String(await /** @type {import('../uiautomator2').UiAutomator2Server} */ (this.uiautomator2).jwproxy.command('/appium/device/pixel_ratio', 'GET', {}));
|
|
19
|
+
},
|
|
20
|
+
async getViewportScreenshot() {
|
|
21
|
+
const screenshot = await this.getScreenshot();
|
|
22
|
+
const rect = await this.getViewPortRect();
|
|
23
|
+
return await support_1.imageUtil.cropBase64Image(screenshot, rect);
|
|
24
|
+
},
|
|
25
|
+
async getViewPortRect() {
|
|
26
|
+
const windowSize = await this.getWindowSize();
|
|
27
|
+
const statusBarHeight = await this.getStatusBarHeight();
|
|
28
|
+
// android returns the upscaled window size, so to get the true size of the
|
|
29
|
+
// rect we have to downscale
|
|
30
|
+
return {
|
|
31
|
+
left: 0,
|
|
32
|
+
top: statusBarHeight,
|
|
33
|
+
width: windowSize.width,
|
|
34
|
+
height: windowSize.height - statusBarHeight,
|
|
35
|
+
};
|
|
36
|
+
},
|
|
17
37
|
};
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
};
|
|
21
|
-
commands.getViewportScreenshot = async function () {
|
|
22
|
-
const screenshot = await this.getScreenshot();
|
|
23
|
-
const rect = await this.getViewPortRect();
|
|
24
|
-
return await _support.imageUtil.cropBase64Image(screenshot, rect);
|
|
25
|
-
};
|
|
26
|
-
commands.getViewPortRect = async function () {
|
|
27
|
-
const windowSize = await this.getWindowSize();
|
|
28
|
-
const statusBarHeight = await this.getStatusBarHeight();
|
|
29
|
-
return {
|
|
30
|
-
left: 0,
|
|
31
|
-
top: statusBarHeight,
|
|
32
|
-
width: windowSize.width,
|
|
33
|
-
height: windowSize.height - statusBarHeight
|
|
34
|
-
};
|
|
35
|
-
};
|
|
36
|
-
Object.assign(extensions, commands);
|
|
37
|
-
var _default = extensions;
|
|
38
|
-
exports.default = _default;
|
|
39
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc3VwcG9ydCIsInJlcXVpcmUiLCJleHRlbnNpb25zIiwiY29tbWFuZHMiLCJleHBvcnRzIiwiZ2V0U3RhdHVzQmFySGVpZ2h0Iiwic3RhdHVzQmFyIiwidWlhdXRvbWF0b3IyIiwiandwcm94eSIsImNvbW1hbmQiLCJnZXREZXZpY2VQaXhlbFJhdGlvIiwiZ2V0Vmlld3BvcnRTY3JlZW5zaG90Iiwic2NyZWVuc2hvdCIsImdldFNjcmVlbnNob3QiLCJyZWN0IiwiZ2V0Vmlld1BvcnRSZWN0IiwiaW1hZ2VVdGlsIiwiY3JvcEJhc2U2NEltYWdlIiwid2luZG93U2l6ZSIsImdldFdpbmRvd1NpemUiLCJzdGF0dXNCYXJIZWlnaHQiLCJsZWZ0IiwidG9wIiwid2lkdGgiLCJoZWlnaHQiLCJPYmplY3QiLCJhc3NpZ24iLCJfZGVmYXVsdCIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tbWFuZHMvdmlld3BvcnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW1hZ2VVdGlsIH0gZnJvbSAnYXBwaXVtL3N1cHBvcnQnO1xuXG5cbmxldCBleHRlbnNpb25zID0ge30sIGNvbW1hbmRzID0ge307XG5cbi8vIG1lbW9pemVkIGluIGNvbnN0cnVjdG9yXG5jb21tYW5kcy5nZXRTdGF0dXNCYXJIZWlnaHQgPSBhc3luYyBmdW5jdGlvbiAoKSB7XG4gIGNvbnN0IHtzdGF0dXNCYXJ9ID0gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKGAvYXBwaXVtL2RldmljZS9zeXN0ZW1fYmFyc2AsICdHRVQnLCB7fSk7XG4gIHJldHVybiBzdGF0dXNCYXI7XG59O1xuXG4vLyBtZW1vaXplZCBpbiBjb25zdHJ1Y3RvclxuY29tbWFuZHMuZ2V0RGV2aWNlUGl4ZWxSYXRpbyA9IGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZCgnL2FwcGl1bS9kZXZpY2UvcGl4ZWxfcmF0aW8nLCAnR0VUJywge30pO1xufTtcblxuY29tbWFuZHMuZ2V0Vmlld3BvcnRTY3JlZW5zaG90ID0gYXN5bmMgZnVuY3Rpb24gKCkge1xuICBjb25zdCBzY3JlZW5zaG90ID0gYXdhaXQgdGhpcy5nZXRTY3JlZW5zaG90KCk7XG4gIGNvbnN0IHJlY3QgPSBhd2FpdCB0aGlzLmdldFZpZXdQb3J0UmVjdCgpO1xuICByZXR1cm4gYXdhaXQgaW1hZ2VVdGlsLmNyb3BCYXNlNjRJbWFnZShzY3JlZW5zaG90LCByZWN0KTtcbn07XG5cbmNvbW1hbmRzLmdldFZpZXdQb3J0UmVjdCA9IGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgY29uc3Qgd2luZG93U2l6ZSA9IGF3YWl0IHRoaXMuZ2V0V2luZG93U2l6ZSgpO1xuICBjb25zdCBzdGF0dXNCYXJIZWlnaHQgPSBhd2FpdCB0aGlzLmdldFN0YXR1c0JhckhlaWdodCgpO1xuICAvLyBhbmRyb2lkIHJldHVybnMgdGhlIHVwc2NhbGVkIHdpbmRvdyBzaXplLCBzbyB0byBnZXQgdGhlIHRydWUgc2l6ZSBvZiB0aGVcbiAgLy8gcmVjdCB3ZSBoYXZlIHRvIGRvd25zY2FsZVxuICByZXR1cm4ge1xuICAgIGxlZnQ6IDAsXG4gICAgdG9wOiBzdGF0dXNCYXJIZWlnaHQsXG4gICAgd2lkdGg6IHdpbmRvd1NpemUud2lkdGgsXG4gICAgaGVpZ2h0OiB3aW5kb3dTaXplLmhlaWdodCAtIHN0YXR1c0JhckhlaWdodFxuICB9O1xufTtcblxuT2JqZWN0LmFzc2lnbihleHRlbnNpb25zLCBjb21tYW5kcyk7XG5leHBvcnQgeyBjb21tYW5kcyB9O1xuZXhwb3J0IGRlZmF1bHQgZXh0ZW5zaW9ucztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsT0FBQTtBQUdBLElBQUlDLFVBQVUsR0FBRyxDQUFDLENBQUM7RUFBRUMsUUFBUSxHQUFHLENBQUMsQ0FBQztBQUFDQyxPQUFBLENBQUFELFFBQUEsR0FBQUEsUUFBQTtBQUduQ0EsUUFBUSxDQUFDRSxrQkFBa0IsR0FBRyxrQkFBa0I7RUFDOUMsTUFBTTtJQUFDQztFQUFTLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQ0MsWUFBWSxDQUFDQyxPQUFPLENBQUNDLE9BQU8sQ0FBRSw0QkFBMkIsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7RUFDcEcsT0FBT0gsU0FBUztBQUNsQixDQUFDO0FBR0RILFFBQVEsQ0FBQ08sbUJBQW1CLEdBQUcsa0JBQWtCO0VBQy9DLE9BQU8sTUFBTSxJQUFJLENBQUNILFlBQVksQ0FBQ0MsT0FBTyxDQUFDQyxPQUFPLENBQUMsNEJBQTRCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3pGLENBQUM7QUFFRE4sUUFBUSxDQUFDUSxxQkFBcUIsR0FBRyxrQkFBa0I7RUFDakQsTUFBTUMsVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDQyxhQUFhLENBQUMsQ0FBQztFQUM3QyxNQUFNQyxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUNDLGVBQWUsQ0FBQyxDQUFDO0VBQ3pDLE9BQU8sTUFBTUMsa0JBQVMsQ0FBQ0MsZUFBZSxDQUFDTCxVQUFVLEVBQUVFLElBQUksQ0FBQztBQUMxRCxDQUFDO0FBRURYLFFBQVEsQ0FBQ1ksZUFBZSxHQUFHLGtCQUFrQjtFQUMzQyxNQUFNRyxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUNDLGFBQWEsQ0FBQyxDQUFDO0VBQzdDLE1BQU1DLGVBQWUsR0FBRyxNQUFNLElBQUksQ0FBQ2Ysa0JBQWtCLENBQUMsQ0FBQztFQUd2RCxPQUFPO0lBQ0xnQixJQUFJLEVBQUUsQ0FBQztJQUNQQyxHQUFHLEVBQUVGLGVBQWU7SUFDcEJHLEtBQUssRUFBRUwsVUFBVSxDQUFDSyxLQUFLO0lBQ3ZCQyxNQUFNLEVBQUVOLFVBQVUsQ0FBQ00sTUFBTSxHQUFHSjtFQUM5QixDQUFDO0FBQ0gsQ0FBQztBQUVESyxNQUFNLENBQUNDLE1BQU0sQ0FBQ3hCLFVBQVUsRUFBRUMsUUFBUSxDQUFDO0FBQUMsSUFBQXdCLFFBQUEsR0FFckJ6QixVQUFVO0FBQUFFLE9BQUEsQ0FBQXdCLE9BQUEsR0FBQUQsUUFBQSJ9
|
|
38
|
+
(0, mixins_1.mixin)(ViewportMixin);
|
|
39
|
+
//# sourceMappingURL=viewport.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewport.js","
|
|
1
|
+
{"version":3,"file":"viewport.js","sourceRoot":"","sources":["../../../lib/commands/viewport.js"],"names":[],"mappings":";AAAA,YAAY;;AAEZ,4CAAyC;AACzC,qCAA+B;AAE/B;;;GAGG;AACH,MAAM,aAAa,GAAG;IACpB,0BAA0B;IAC1B,KAAK,CAAC,kBAAkB;QACtB,MAAM,EAAC,SAAS,EAAC,GAAG,kCAAkC,CAAC,CACrD,MAAM,2DAA2D,CAAC,CAChE,IAAI,CAAC,YAAY,CAClB,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,EAAE,KAAK,EAAE,EAAE,CAAC,CAC3D,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,0BAA0B;IAC1B,KAAK,CAAC,mBAAmB;QACvB,OAAO,MAAM,CACX,MAAM,2DAA2D,CAAC,CAChE,IAAI,CAAC,YAAY,CAClB,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,EAAE,KAAK,EAAE,EAAE,CAAC,CAC3D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC1C,OAAO,MAAM,mBAAS,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxD,2EAA2E;QAC3E,4BAA4B;QAC5B,OAAO;YACL,IAAI,EAAE,CAAC;YACP,GAAG,EAAE,eAAe;YACpB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,eAAe;SAC5C,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,IAAA,cAAK,EAAC,aAAa,CAAC,CAAC"}
|