appium-uiautomator2-driver 6.7.4 → 6.7.6

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.
@@ -1,212 +1,47 @@
1
+ import type { Element as AppiumElement } from '@appium/types';
2
+ import type { AndroidUiautomator2Driver } from '../driver';
1
3
  /**
2
- * Performs a simple click/tap gesture
3
- *
4
- * @this {AndroidUiautomator2Driver}
5
- * @param {string} [elementId] The id of the element to be clicked.
6
- * If the element is missing then both click offset coordinates must be provided.
7
- * If both the element id and offset are provided then the coordinates are parsed
8
- * as relative offsets from the top left corner of the element.
9
- * @param {number} [x] The x coordinate to click on.
10
- * @param {number} [y] The y coordinate to click on.
11
- * @returns {Promise<void>}
12
- * @throws {Error} if provided options are not valid
4
+ * Performs a simple click/tap gesture.
13
5
  */
14
- export function mobileClickGesture(this: import("../driver").AndroidUiautomator2Driver, elementId?: string, x?: number, y?: number): Promise<void>;
6
+ export declare function mobileClickGesture(this: AndroidUiautomator2Driver, elementId?: AppiumElement | string, x?: number, y?: number): Promise<void>;
15
7
  /**
16
- * Performs a click that lasts for the given duration
17
- *
18
- * @this {AndroidUiautomator2Driver}
19
- * @param {string} [elementId] The id of the element to be clicked.
20
- * If the element is missing then both click offset coordinates must be provided.
21
- * If both the element id and offset are provided then the coordinates are parsed
22
- * as relative offsets from the top left corner of the element.
23
- * @param {number} [x] The x coordinate to click on.
24
- * @param {number} [y] The y coordinate to click on.
25
- * @param {number} [duration] Click duration in milliseconds. The value must not be negative.
26
- * Default is 500.
27
- * @returns {Promise<void>}
28
- * @throws {Error} if provided options are not valid
8
+ * Performs a long click with an optional duration.
29
9
  */
30
- export function mobileLongClickGesture(this: import("../driver").AndroidUiautomator2Driver, elementId?: string, x?: number, y?: number, duration?: number): Promise<void>;
10
+ export declare function mobileLongClickGesture(this: AndroidUiautomator2Driver, elementId?: AppiumElement | string, x?: number, y?: number, duration?: number): Promise<void>;
31
11
  /**
32
- * Performs a click that lasts for the given duration
33
- * @this {AndroidUiautomator2Driver}
34
- * @param {string} [elementId] The id of the element to be clicked.
35
- * If the element is missing then both click offset coordinates must be provided.
36
- * If both the element id and offset are provided then the coordinates are parsed
37
- * as relative offsets from the top left corner of the element.
38
- * @param {number} [x] The x coordinate to click on.
39
- * @param {number} [y] The y coordinate to click on.
40
- * @returns {Promise<void>}
41
- * @throws {Error} if provided options are not valid
12
+ * Performs a double-click gesture.
42
13
  */
43
- export function mobileDoubleClickGesture(this: import("../driver").AndroidUiautomator2Driver, elementId?: string, x?: number, y?: number): Promise<void>;
14
+ export declare function mobileDoubleClickGesture(this: AndroidUiautomator2Driver, elementId?: AppiumElement | string, x?: number, y?: number): Promise<void>;
44
15
  /**
45
- * Drags this object to the specified location.
46
- * @this {AndroidUiautomator2Driver}
47
- * @param {string} [elementId] The id of the element to be dragged.
48
- * If the element id is missing then the start coordinates must be provided.
49
- * If both the element id and the start coordinates are provided then these
50
- * coordinates are considered as offsets from the top left element corner.
51
- * @param {number} [startX] The x coordinate where the dragging starts
52
- * @param {number} [startY] The y coordinate where the dragging starts
53
- * @param {number} [endX] The x coordinate where the dragging ends
54
- * @param {number} [endY] The y coordinate where the dragging ends
55
- * @param {number} [speed] The speed at which to perform this gesture in pixels per second.
56
- * The value must not be negative.
57
- * Default is 2500 * displayDensity.
58
- * @returns {Promise<void>}
59
- * @throws {Error} if provided options are not valid
16
+ * Drags from a start point to an end point.
60
17
  */
61
- export function mobileDragGesture(this: import("../driver").AndroidUiautomator2Driver, elementId?: string, startX?: number, startY?: number, endX?: number, endY?: number, speed?: number): Promise<void>;
18
+ export declare function mobileDragGesture(this: AndroidUiautomator2Driver, elementId?: AppiumElement | string, startX?: number, startY?: number, endX?: number, endY?: number, speed?: number): Promise<void>;
62
19
  /**
63
- * Drags to the specified location.
64
- *
65
- * @throws {Error} if provided options are not valid
66
- * @this {AndroidUiautomator2Driver}
67
- * @param {string} direction Direction of the fling.
68
- * Acceptable values are: `up`, `down`, `left` and `right` (case insensitive).
69
- * @param {string} [elementId] The id of the element to be flinged.
70
- * If the element id is missing then fling bounding area must be provided.
71
- * If both the element id and the fling bounding area are provided then this
72
- * area is effectively ignored.
73
- * @param {number} [left] The left coordinate of the fling bounding area.
74
- * @param {number} [top] The top coordinate of the fling bounding area.
75
- * @param {number} [width] The width of the fling bounding area.
76
- * @param {number} [height] The height of the fling bounding area.
77
- * @param {number} [speed] The speed at which to perform this gesture in pixels per second.
78
- * The value must be greater than the minimum fling velocity for the given view (50 by default).
79
- * Default is 7500 * displayDensity.
80
- * @returns {Promise<boolean>} True if the object can still scroll in the given direction.
20
+ * Performs a fling gesture and reports if further scrolling is possible.
81
21
  */
82
- export function mobileFlingGesture(this: import("../driver").AndroidUiautomator2Driver, direction: string, elementId?: string, left?: number, top?: number, width?: number, height?: number, speed?: number): Promise<boolean>;
22
+ export declare function mobileFlingGesture(this: AndroidUiautomator2Driver, direction: string, elementId?: AppiumElement | string, left?: number, top?: number, width?: number, height?: number, speed?: number): Promise<boolean>;
83
23
  /**
84
- * Performs a pinch close gesture.
85
- * @this {AndroidUiautomator2Driver}
86
- * @param {number} percent The size of the pinch as a percentage of the pinch area size.
87
- * Valid values must be float numbers in range 0..1, where 1.0 is 100%
88
- * @param {string} [elementId] The id of the element to be pinched.
89
- * If the element id is missing then pinch bounding area must be provided.
90
- * If both the element id and the pinch bounding area are provided then the
91
- * area is effectively ignored.
92
- * @param {number} [left] The left coordinate of the pinch bounding area.
93
- * @param {number} [top] The top coordinate of the pinch bounding area.
94
- * @param {number} [width] The width of the pinch bounding area.
95
- * @param {number} [height] The height of the pinch bounding area.
96
- * @param {number} [speed] The speed at which to perform this gesture in pixels per second.
97
- * The value must not be negative.
98
- * Default is 2500 * displayDensity.
99
- * @returns {Promise<void>}
100
- * @throws {Error} if provided options are not valid
24
+ * Performs a pinch-close gesture.
101
25
  */
102
- export function mobilePinchCloseGesture(this: import("../driver").AndroidUiautomator2Driver, percent: number, elementId?: string, left?: number, top?: number, width?: number, height?: number, speed?: number): Promise<void>;
26
+ export declare function mobilePinchCloseGesture(this: AndroidUiautomator2Driver, percent: number, elementId?: AppiumElement | string, left?: number, top?: number, width?: number, height?: number, speed?: number): Promise<void>;
103
27
  /**
104
- * Performs a pinch open gesture.
105
- * @this {AndroidUiautomator2Driver}
106
- * @param {number} percent The size of the pinch as a percentage of the pinch area size.
107
- * Valid values must be float numbers in range 0..1, where 1.0 is 100%
108
- * @param {string} [elementId] The id of the element to be pinched.
109
- * If the element id is missing then pinch bounding area must be provided.
110
- * If both the element id and the pinch bounding area are provided then the
111
- * area is effectively ignored.
112
- * @param {number} [left] The left coordinate of the pinch bounding area.
113
- * @param {number} [top] The top coordinate of the pinch bounding area.
114
- * @param {number} [width] The width of the pinch bounding area.
115
- * @param {number} [height] The height of the pinch bounding area.
116
- * @param {number} [speed] The speed at which to perform this gesture in pixels per second.
117
- * The value must not be negative.
118
- * Default is 2500 * displayDensity.
119
- * @returns {Promise<void>}
120
- * @throws {Error} if provided options are not valid
28
+ * Performs a pinch-open gesture.
121
29
  */
122
- export function mobilePinchOpenGesture(this: import("../driver").AndroidUiautomator2Driver, percent: number, elementId?: string, left?: number, top?: number, width?: number, height?: number, speed?: number): Promise<void>;
30
+ export declare function mobilePinchOpenGesture(this: AndroidUiautomator2Driver, percent: number, elementId?: AppiumElement | string, left?: number, top?: number, width?: number, height?: number, speed?: number): Promise<void>;
123
31
  /**
124
- * Performs a swipe gesture.
125
- * @this {AndroidUiautomator2Driver}
126
- * @param {string} direction Direction of the swipe.
127
- * Acceptable values are: `up`, `down`, `left` and `right` (case insensitive).
128
- * @param {number} percent The size of the swipe as a percentage of the swipe area size.
129
- * Valid values must be float numbers in range 0..1, where 1.0 is 100%.
130
- * @param {string} [elementId] The id of the element to be swiped.
131
- * If the element id is missing then swipe bounding area must be provided.
132
- * If both the element id and the swipe bounding area are provided then the
133
- * area is effectively ignored.
134
- * @param {number} [left] The left coordinate of the swipe bounding area.
135
- * @param {number} [top] The top coordinate of the swipe bounding area.
136
- * @param {number} [width] The width of the swipe bounding area.
137
- * @param {number} [height] The height of the swipe bounding area.
138
- * @param {number} [speed] The speed at which to perform this gesture in pixels per second.
139
- * The value must not be negative.
140
- * Default is 5000 * displayDensity.
141
- * @returns {Promise<void>}
142
- * @throws {Error} if provided options are not valid
32
+ * Performs a swipe gesture for the given direction and percent.
143
33
  */
144
- export function mobileSwipeGesture(this: import("../driver").AndroidUiautomator2Driver, direction: string, percent: number, elementId?: string, left?: number, top?: number, width?: number, height?: number, speed?: number): Promise<void>;
34
+ export declare function mobileSwipeGesture(this: AndroidUiautomator2Driver, direction: string, percent: number, elementId?: AppiumElement | string, left?: number, top?: number, width?: number, height?: number, speed?: number): Promise<void>;
145
35
  /**
146
- * Performs a scroll gesture.
147
- *
148
- * @throws {Error} if provided options are not valid
149
- * @this {AndroidUiautomator2Driver}
150
- * @param {string} direction Direction of the scroll.
151
- * Acceptable values are: `up`, `down`, `left` and `right` (case insensitive).
152
- * @param {number} percent The size of the scroll as a percentage of the scrolling area size.
153
- * Valid values must be float numbers greater than zero, where 1.0 is 100%.
154
- * @param {string} [elementId] The id of the element to be scrolled.
155
- * If the element id is missing then scroll bounding area must be provided.
156
- * If both the element id and the scroll bounding area are provided then this
157
- * area is effectively ignored.
158
- * @param {number} [left] The left coordinate of the scroll bounding area.
159
- * @param {number} [top] The top coordinate of the scroll bounding area.
160
- * @param {number} [width] The width of the scroll bounding area.
161
- * @param {number} [height] The height of the scroll bounding area.
162
- * @param {number} [speed] The speed at which to perform this gesture in pixels per second.
163
- * The value must not be negative.
164
- * Default is 5000 * displayDensity.
165
- * @returns {Promise<boolean>} True if the object can still scroll in the given direction.
36
+ * Performs a scroll gesture and reports if further scrolling is possible.
166
37
  */
167
- export function mobileScrollGesture(this: import("../driver").AndroidUiautomator2Driver, direction: string, percent: number, elementId?: string, left?: number, top?: number, width?: number, height?: number, speed?: number): Promise<boolean>;
38
+ export declare function mobileScrollGesture(this: AndroidUiautomator2Driver, direction: string, percent: number, elementId?: AppiumElement | string, left?: number, top?: number, width?: number, height?: number, speed?: number): Promise<boolean>;
168
39
  /**
169
- * Scrolls the given scrollable element `elementId` until `elementToId`
170
- * becomes visible. This function returns immediately if the `elementToId`
171
- * is already visible in the view port. Otherwise it would scroll
172
- * to the very beginning of the scrollable control and tries to reach the destination element
173
- * by scrolling its parent to the end step by step. The scroll direction (vertical or horizontal)
174
- * is detected automatically.
175
- * @this {AndroidUiautomator2Driver}
176
- * @param {string} elementId The identifier of the scrollable element, which is going to be scrolled.
177
- * It is required this element is a valid scrollable container and it was located
178
- * by `-android uiautomator` strategy.
179
- * @param {string} elementToId The identifier of the item, which belongs to the scrollable element above,
180
- * and which should become visible after the scrolling operation is finished.
181
- * It is required this element was located by `-android uiautomator` strategy.
182
- * @returns {Promise<void>}
183
- * @throws {Error} if the scrolling operation cannot be performed
40
+ * Scrolls a scrollable element until a target element becomes visible.
184
41
  */
185
- export function mobileScrollBackTo(this: import("../driver").AndroidUiautomator2Driver, elementId: string, elementToId: string): Promise<void>;
42
+ export declare function mobileScrollBackTo(this: AndroidUiautomator2Driver, elementId?: string, elementToId?: string): Promise<void>;
186
43
  /**
187
- * Scrolls the given scrollable element until the element identified
188
- * by `strategy` and `selector` becomes visible. This function returns immediately if the
189
- * destination element is already visible in the view port. Otherwise it would scroll
190
- * to the very beginning of the scrollable control and tries to reach the destination element
191
- * by scrolling its parent to the end step by step. The scroll direction (vertical or horizontal)
192
- * is detected automatically.
193
- *
194
- * @this {AndroidUiautomator2Driver}
195
- * @param {string} strategy The following strategies are supported:
196
- * - `accessibility id` (UiSelector().description)
197
- * - `class name` (UiSelector().className)
198
- * - `-android uiautomator` (UiSelector)
199
- * @param {string} selector The corresponding lookup value for the given strategy.
200
- * @param {string} [elementId] The identifier of an element. It is required this element is a valid scrollable container
201
- * and it was located by `-android uiautomator` strategy.
202
- * If this property is not provided then the first currently available scrollable view
203
- * is selected for the interaction.
204
- * @param {number} [maxSwipes] The maximum number of swipes to perform on the target scrollable view in order to reach
205
- * the destination element. In case this value is unset then it would be retrieved from the
206
- * scrollable element itself (via `getMaxSearchSwipes()` property).
207
- * @returns {Promise<void>}
208
- * @throws {Error} if the scrolling operation cannot be performed
44
+ * Scrolls until an element located by the given strategy is visible.
209
45
  */
210
- export function mobileScroll(this: import("../driver").AndroidUiautomator2Driver, strategy: string, selector: string, elementId?: string, maxSwipes?: number): Promise<void>;
211
- export type AndroidUiautomator2Driver = import("../driver").AndroidUiautomator2Driver;
46
+ export declare function mobileScroll(this: AndroidUiautomator2Driver, strategy: string, selector: string, elementId?: AppiumElement | string, maxSwipes?: number): Promise<void>;
212
47
  //# sourceMappingURL=gestures.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gestures.d.ts","sourceRoot":"","sources":["../../../lib/commands/gestures.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AACH,oGATW,MAAM,MAIN,MAAM,MACN,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAYzB;AAED;;;;;;;;;;;;;;GAcG;AACH,wGAXW,MAAM,MAIN,MAAM,MACN,MAAM,aACN,MAAM,GAEJ,OAAO,CAAC,IAAI,CAAC,CAazB;AAED;;;;;;;;;;;GAWG;AACH,0GATW,MAAM,MAIN,MAAM,MACN,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAYzB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,mGAdW,MAAM,WAIN,MAAM,WACN,MAAM,SACN,MAAM,SACN,MAAM,UACN,MAAM,GAGJ,OAAO,CAAC,IAAI,CAAC,CAqBzB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,mGAfW,MAAM,cAEN,MAAM,SAIN,MAAM,QACN,MAAM,UACN,MAAM,WACN,MAAM,UACN,MAAM,GAGJ,OAAO,CAAC,OAAO,CAAC,CAuB5B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,sGAhBW,MAAM,cAEN,MAAM,SAIN,MAAM,QACN,MAAM,UACN,MAAM,WACN,MAAM,UACN,MAAM,GAGJ,OAAO,CAAC,IAAI,CAAC,CAsBzB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qGAhBW,MAAM,cAEN,MAAM,SAIN,MAAM,QACN,MAAM,UACN,MAAM,WACN,MAAM,UACN,MAAM,GAGJ,OAAO,CAAC,IAAI,CAAC,CAsBzB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,mGAlBW,MAAM,WAEN,MAAM,cAEN,MAAM,SAIN,MAAM,QACN,MAAM,UACN,MAAM,WACN,MAAM,UACN,MAAM,GAGJ,OAAO,CAAC,IAAI,CAAC,CAwBzB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,oGAjBW,MAAM,WAEN,MAAM,cAEN,MAAM,SAIN,MAAM,QACN,MAAM,UACN,MAAM,WACN,MAAM,UACN,MAAM,GAGJ,OAAO,CAAC,OAAO,CAAC,CAyB5B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,mGATW,MAAM,eAGN,MAAM,GAGJ,OAAO,CAAC,IAAI,CAAC,CAgBzB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,4FAfW,MAAM,YAIN,MAAM,cACN,MAAM,cAIN,MAAM,GAGJ,OAAO,CAAC,IAAI,CAAC,CAsBzB;wCAwCY,OAAO,WAAW,EAAE,yBAAyB"}
1
+ {"version":3,"file":"gestures.d.ts","sourceRoot":"","sources":["../../../lib/commands/gestures.ts"],"names":[],"mappings":"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"}
@@ -14,21 +14,11 @@ exports.mobileSwipeGesture = mobileSwipeGesture;
14
14
  exports.mobileScrollGesture = mobileScrollGesture;
15
15
  exports.mobileScrollBackTo = mobileScrollBackTo;
16
16
  exports.mobileScroll = mobileScroll;
17
+ const driver_1 = require("appium/driver");
17
18
  const support_1 = require("appium/support");
18
19
  const lodash_1 = __importDefault(require("lodash"));
19
- const driver_1 = require("appium/driver");
20
20
  /**
21
- * Performs a simple click/tap gesture
22
- *
23
- * @this {AndroidUiautomator2Driver}
24
- * @param {string} [elementId] The id of the element to be clicked.
25
- * If the element is missing then both click offset coordinates must be provided.
26
- * If both the element id and offset are provided then the coordinates are parsed
27
- * as relative offsets from the top left corner of the element.
28
- * @param {number} [x] The x coordinate to click on.
29
- * @param {number} [y] The y coordinate to click on.
30
- * @returns {Promise<void>}
31
- * @throws {Error} if provided options are not valid
21
+ * Performs a simple click/tap gesture.
32
22
  */
33
23
  async function mobileClickGesture(elementId, x, y) {
34
24
  await this.uiautomator2.jwproxy.command('/appium/gestures/click', 'POST', {
@@ -37,19 +27,7 @@ async function mobileClickGesture(elementId, x, y) {
37
27
  });
38
28
  }
39
29
  /**
40
- * Performs a click that lasts for the given duration
41
- *
42
- * @this {AndroidUiautomator2Driver}
43
- * @param {string} [elementId] The id of the element to be clicked.
44
- * If the element is missing then both click offset coordinates must be provided.
45
- * If both the element id and offset are provided then the coordinates are parsed
46
- * as relative offsets from the top left corner of the element.
47
- * @param {number} [x] The x coordinate to click on.
48
- * @param {number} [y] The y coordinate to click on.
49
- * @param {number} [duration] Click duration in milliseconds. The value must not be negative.
50
- * Default is 500.
51
- * @returns {Promise<void>}
52
- * @throws {Error} if provided options are not valid
30
+ * Performs a long click with an optional duration.
53
31
  */
54
32
  async function mobileLongClickGesture(elementId, x, y, duration) {
55
33
  await this.uiautomator2.jwproxy.command('/appium/gestures/long_click', 'POST', {
@@ -59,16 +37,7 @@ async function mobileLongClickGesture(elementId, x, y, duration) {
59
37
  });
60
38
  }
61
39
  /**
62
- * Performs a click that lasts for the given duration
63
- * @this {AndroidUiautomator2Driver}
64
- * @param {string} [elementId] The id of the element to be clicked.
65
- * If the element is missing then both click offset coordinates must be provided.
66
- * If both the element id and offset are provided then the coordinates are parsed
67
- * as relative offsets from the top left corner of the element.
68
- * @param {number} [x] The x coordinate to click on.
69
- * @param {number} [y] The y coordinate to click on.
70
- * @returns {Promise<void>}
71
- * @throws {Error} if provided options are not valid
40
+ * Performs a double-click gesture.
72
41
  */
73
42
  async function mobileDoubleClickGesture(elementId, x, y) {
74
43
  await this.uiautomator2.jwproxy.command('/appium/gestures/double_click', 'POST', {
@@ -77,21 +46,7 @@ async function mobileDoubleClickGesture(elementId, x, y) {
77
46
  });
78
47
  }
79
48
  /**
80
- * Drags this object to the specified location.
81
- * @this {AndroidUiautomator2Driver}
82
- * @param {string} [elementId] The id of the element to be dragged.
83
- * If the element id is missing then the start coordinates must be provided.
84
- * If both the element id and the start coordinates are provided then these
85
- * coordinates are considered as offsets from the top left element corner.
86
- * @param {number} [startX] The x coordinate where the dragging starts
87
- * @param {number} [startY] The y coordinate where the dragging starts
88
- * @param {number} [endX] The x coordinate where the dragging ends
89
- * @param {number} [endY] The y coordinate where the dragging ends
90
- * @param {number} [speed] The speed at which to perform this gesture in pixels per second.
91
- * The value must not be negative.
92
- * Default is 2500 * displayDensity.
93
- * @returns {Promise<void>}
94
- * @throws {Error} if provided options are not valid
49
+ * Drags from a start point to an end point.
95
50
  */
96
51
  async function mobileDragGesture(elementId, startX, startY, endX, endY, speed) {
97
52
  await this.uiautomator2.jwproxy.command('/appium/gestures/drag', 'POST', {
@@ -102,27 +57,10 @@ async function mobileDragGesture(elementId, startX, startY, endX, endY, speed) {
102
57
  });
103
58
  }
104
59
  /**
105
- * Drags to the specified location.
106
- *
107
- * @throws {Error} if provided options are not valid
108
- * @this {AndroidUiautomator2Driver}
109
- * @param {string} direction Direction of the fling.
110
- * Acceptable values are: `up`, `down`, `left` and `right` (case insensitive).
111
- * @param {string} [elementId] The id of the element to be flinged.
112
- * If the element id is missing then fling bounding area must be provided.
113
- * If both the element id and the fling bounding area are provided then this
114
- * area is effectively ignored.
115
- * @param {number} [left] The left coordinate of the fling bounding area.
116
- * @param {number} [top] The top coordinate of the fling bounding area.
117
- * @param {number} [width] The width of the fling bounding area.
118
- * @param {number} [height] The height of the fling bounding area.
119
- * @param {number} [speed] The speed at which to perform this gesture in pixels per second.
120
- * The value must be greater than the minimum fling velocity for the given view (50 by default).
121
- * Default is 7500 * displayDensity.
122
- * @returns {Promise<boolean>} True if the object can still scroll in the given direction.
60
+ * Performs a fling gesture and reports if further scrolling is possible.
123
61
  */
124
62
  async function mobileFlingGesture(direction, elementId, left, top, width, height, speed) {
125
- return /** @type {boolean} */ (await this.uiautomator2.jwproxy.command('/appium/gestures/fling', 'POST', {
63
+ return (await this.uiautomator2.jwproxy.command('/appium/gestures/fling', 'POST', {
126
64
  origin: toOrigin(elementId),
127
65
  area: toRect(left, top, width, height),
128
66
  direction,
@@ -130,23 +68,7 @@ async function mobileFlingGesture(direction, elementId, left, top, width, height
130
68
  }));
131
69
  }
132
70
  /**
133
- * Performs a pinch close gesture.
134
- * @this {AndroidUiautomator2Driver}
135
- * @param {number} percent The size of the pinch as a percentage of the pinch area size.
136
- * Valid values must be float numbers in range 0..1, where 1.0 is 100%
137
- * @param {string} [elementId] The id of the element to be pinched.
138
- * If the element id is missing then pinch bounding area must be provided.
139
- * If both the element id and the pinch bounding area are provided then the
140
- * area is effectively ignored.
141
- * @param {number} [left] The left coordinate of the pinch bounding area.
142
- * @param {number} [top] The top coordinate of the pinch bounding area.
143
- * @param {number} [width] The width of the pinch bounding area.
144
- * @param {number} [height] The height of the pinch bounding area.
145
- * @param {number} [speed] The speed at which to perform this gesture in pixels per second.
146
- * The value must not be negative.
147
- * Default is 2500 * displayDensity.
148
- * @returns {Promise<void>}
149
- * @throws {Error} if provided options are not valid
71
+ * Performs a pinch-close gesture.
150
72
  */
151
73
  async function mobilePinchCloseGesture(percent, elementId, left, top, width, height, speed) {
152
74
  await this.uiautomator2.jwproxy.command('/appium/gestures/pinch_close', 'POST', {
@@ -157,23 +79,7 @@ async function mobilePinchCloseGesture(percent, elementId, left, top, width, hei
157
79
  });
158
80
  }
159
81
  /**
160
- * Performs a pinch open gesture.
161
- * @this {AndroidUiautomator2Driver}
162
- * @param {number} percent The size of the pinch as a percentage of the pinch area size.
163
- * Valid values must be float numbers in range 0..1, where 1.0 is 100%
164
- * @param {string} [elementId] The id of the element to be pinched.
165
- * If the element id is missing then pinch bounding area must be provided.
166
- * If both the element id and the pinch bounding area are provided then the
167
- * area is effectively ignored.
168
- * @param {number} [left] The left coordinate of the pinch bounding area.
169
- * @param {number} [top] The top coordinate of the pinch bounding area.
170
- * @param {number} [width] The width of the pinch bounding area.
171
- * @param {number} [height] The height of the pinch bounding area.
172
- * @param {number} [speed] The speed at which to perform this gesture in pixels per second.
173
- * The value must not be negative.
174
- * Default is 2500 * displayDensity.
175
- * @returns {Promise<void>}
176
- * @throws {Error} if provided options are not valid
82
+ * Performs a pinch-open gesture.
177
83
  */
178
84
  async function mobilePinchOpenGesture(percent, elementId, left, top, width, height, speed) {
179
85
  await this.uiautomator2.jwproxy.command('/appium/gestures/pinch_open', 'POST', {
@@ -184,25 +90,7 @@ async function mobilePinchOpenGesture(percent, elementId, left, top, width, heig
184
90
  });
185
91
  }
186
92
  /**
187
- * Performs a swipe gesture.
188
- * @this {AndroidUiautomator2Driver}
189
- * @param {string} direction Direction of the swipe.
190
- * Acceptable values are: `up`, `down`, `left` and `right` (case insensitive).
191
- * @param {number} percent The size of the swipe as a percentage of the swipe area size.
192
- * Valid values must be float numbers in range 0..1, where 1.0 is 100%.
193
- * @param {string} [elementId] The id of the element to be swiped.
194
- * If the element id is missing then swipe bounding area must be provided.
195
- * If both the element id and the swipe bounding area are provided then the
196
- * area is effectively ignored.
197
- * @param {number} [left] The left coordinate of the swipe bounding area.
198
- * @param {number} [top] The top coordinate of the swipe bounding area.
199
- * @param {number} [width] The width of the swipe bounding area.
200
- * @param {number} [height] The height of the swipe bounding area.
201
- * @param {number} [speed] The speed at which to perform this gesture in pixels per second.
202
- * The value must not be negative.
203
- * Default is 5000 * displayDensity.
204
- * @returns {Promise<void>}
205
- * @throws {Error} if provided options are not valid
93
+ * Performs a swipe gesture for the given direction and percent.
206
94
  */
207
95
  async function mobileSwipeGesture(direction, percent, elementId, left, top, width, height, speed) {
208
96
  await this.uiautomator2.jwproxy.command('/appium/gestures/swipe', 'POST', {
@@ -214,29 +102,10 @@ async function mobileSwipeGesture(direction, percent, elementId, left, top, widt
214
102
  });
215
103
  }
216
104
  /**
217
- * Performs a scroll gesture.
218
- *
219
- * @throws {Error} if provided options are not valid
220
- * @this {AndroidUiautomator2Driver}
221
- * @param {string} direction Direction of the scroll.
222
- * Acceptable values are: `up`, `down`, `left` and `right` (case insensitive).
223
- * @param {number} percent The size of the scroll as a percentage of the scrolling area size.
224
- * Valid values must be float numbers greater than zero, where 1.0 is 100%.
225
- * @param {string} [elementId] The id of the element to be scrolled.
226
- * If the element id is missing then scroll bounding area must be provided.
227
- * If both the element id and the scroll bounding area are provided then this
228
- * area is effectively ignored.
229
- * @param {number} [left] The left coordinate of the scroll bounding area.
230
- * @param {number} [top] The top coordinate of the scroll bounding area.
231
- * @param {number} [width] The width of the scroll bounding area.
232
- * @param {number} [height] The height of the scroll bounding area.
233
- * @param {number} [speed] The speed at which to perform this gesture in pixels per second.
234
- * The value must not be negative.
235
- * Default is 5000 * displayDensity.
236
- * @returns {Promise<boolean>} True if the object can still scroll in the given direction.
105
+ * Performs a scroll gesture and reports if further scrolling is possible.
237
106
  */
238
107
  async function mobileScrollGesture(direction, percent, elementId, left, top, width, height, speed) {
239
- return /** @type {boolean} */ (await this.uiautomator2.jwproxy.command('/appium/gestures/scroll', 'POST', {
108
+ return (await this.uiautomator2.jwproxy.command('/appium/gestures/scroll', 'POST', {
240
109
  origin: toOrigin(elementId),
241
110
  area: toRect(left, top, width, height),
242
111
  direction,
@@ -245,21 +114,7 @@ async function mobileScrollGesture(direction, percent, elementId, left, top, wid
245
114
  }));
246
115
  }
247
116
  /**
248
- * Scrolls the given scrollable element `elementId` until `elementToId`
249
- * becomes visible. This function returns immediately if the `elementToId`
250
- * is already visible in the view port. Otherwise it would scroll
251
- * to the very beginning of the scrollable control and tries to reach the destination element
252
- * by scrolling its parent to the end step by step. The scroll direction (vertical or horizontal)
253
- * is detected automatically.
254
- * @this {AndroidUiautomator2Driver}
255
- * @param {string} elementId The identifier of the scrollable element, which is going to be scrolled.
256
- * It is required this element is a valid scrollable container and it was located
257
- * by `-android uiautomator` strategy.
258
- * @param {string} elementToId The identifier of the item, which belongs to the scrollable element above,
259
- * and which should become visible after the scrolling operation is finished.
260
- * It is required this element was located by `-android uiautomator` strategy.
261
- * @returns {Promise<void>}
262
- * @throws {Error} if the scrolling operation cannot be performed
117
+ * Scrolls a scrollable element until a target element becomes visible.
263
118
  */
264
119
  async function mobileScrollBackTo(elementId, elementToId) {
265
120
  if (!elementId || !elementToId) {
@@ -268,28 +123,7 @@ async function mobileScrollBackTo(elementId, elementToId) {
268
123
  await this.uiautomator2.jwproxy.command(`/appium/element/${support_1.util.unwrapElement(elementId)}/scroll_to/${support_1.util.unwrapElement(elementToId)}`, 'POST', {});
269
124
  }
270
125
  /**
271
- * Scrolls the given scrollable element until the element identified
272
- * by `strategy` and `selector` becomes visible. This function returns immediately if the
273
- * destination element is already visible in the view port. Otherwise it would scroll
274
- * to the very beginning of the scrollable control and tries to reach the destination element
275
- * by scrolling its parent to the end step by step. The scroll direction (vertical or horizontal)
276
- * is detected automatically.
277
- *
278
- * @this {AndroidUiautomator2Driver}
279
- * @param {string} strategy The following strategies are supported:
280
- * - `accessibility id` (UiSelector().description)
281
- * - `class name` (UiSelector().className)
282
- * - `-android uiautomator` (UiSelector)
283
- * @param {string} selector The corresponding lookup value for the given strategy.
284
- * @param {string} [elementId] The identifier of an element. It is required this element is a valid scrollable container
285
- * and it was located by `-android uiautomator` strategy.
286
- * If this property is not provided then the first currently available scrollable view
287
- * is selected for the interaction.
288
- * @param {number} [maxSwipes] The maximum number of swipes to perform on the target scrollable view in order to reach
289
- * the destination element. In case this value is unset then it would be retrieved from the
290
- * scrollable element itself (via `getMaxSearchSwipes()` property).
291
- * @returns {Promise<void>}
292
- * @throws {Error} if the scrolling operation cannot be performed
126
+ * Scrolls until an element located by the given strategy is visible.
293
127
  */
294
128
  async function mobileScroll(strategy, selector, elementId, maxSwipes) {
295
129
  if (!strategy || !selector) {
@@ -300,39 +134,15 @@ async function mobileScroll(strategy, selector, elementId, maxSwipes) {
300
134
  params: { strategy, selector, maxSwipes },
301
135
  });
302
136
  }
303
- // #region Internal Helpers
304
- /**
305
- *
306
- * @param {import('@appium/types').Element|string} [element]
307
- * @returns {import('@appium/types').Element|undefined}
308
- */
309
137
  function toOrigin(element) {
310
138
  return element ? support_1.util.wrapElement(support_1.util.unwrapElement(element)) : undefined;
311
139
  }
312
- /**
313
- *
314
- * @param {number} [x]
315
- * @param {number} [y]
316
- * @returns {Partial<import('@appium/types').Position>|undefined}
317
- */
318
140
  function toPoint(x, y) {
319
141
  return lodash_1.default.isFinite(x) && lodash_1.default.isFinite(y) ? { x, y } : undefined;
320
142
  }
321
- /**
322
- *
323
- * @param {number} [left]
324
- * @param {number} [top]
325
- * @param {number} [width]
326
- * @param {number} [height]
327
- * @returns {Partial<import('./types').RelativeRect>|undefined}
328
- */
329
143
  function toRect(left, top, width, height) {
330
144
  return [left, top, width, height].some((v) => !lodash_1.default.isFinite(v))
331
145
  ? undefined
332
146
  : { left, top, width, height };
333
147
  }
334
- // #endregion
335
- /**
336
- * @typedef {import('../driver').AndroidUiautomator2Driver} AndroidUiautomator2Driver
337
- */
338
148
  //# sourceMappingURL=gestures.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gestures.js","sourceRoot":"","sources":["../../../lib/commands/gestures.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gestures.js","sourceRoot":"","sources":["../../../lib/commands/gestures.ts"],"names":[],"mappings":"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"}