appium-xcuitest-driver 10.3.0 → 10.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/lib/commands/active-app-info.d.ts +9 -0
  3. package/build/lib/commands/active-app-info.d.ts.map +1 -0
  4. package/build/lib/commands/active-app-info.js +14 -0
  5. package/build/lib/commands/active-app-info.js.map +1 -0
  6. package/build/lib/commands/alert.d.ts +42 -45
  7. package/build/lib/commands/alert.d.ts.map +1 -1
  8. package/build/lib/commands/alert.js +66 -62
  9. package/build/lib/commands/alert.js.map +1 -1
  10. package/build/lib/commands/app-management.d.ts +150 -153
  11. package/build/lib/commands/app-management.d.ts.map +1 -1
  12. package/build/lib/commands/app-management.js +300 -286
  13. package/build/lib/commands/app-management.js.map +1 -1
  14. package/build/lib/commands/app-strings.d.ts +14 -17
  15. package/build/lib/commands/app-strings.d.ts.map +1 -1
  16. package/build/lib/commands/app-strings.js +23 -24
  17. package/build/lib/commands/app-strings.js.map +1 -1
  18. package/build/lib/commands/appearance.d.ts +19 -22
  19. package/build/lib/commands/appearance.d.ts.map +1 -1
  20. package/build/lib/commands/appearance.js +56 -56
  21. package/build/lib/commands/appearance.js.map +1 -1
  22. package/build/lib/commands/audit.d.ts +22 -17
  23. package/build/lib/commands/audit.d.ts.map +1 -1
  24. package/build/lib/commands/audit.js +17 -18
  25. package/build/lib/commands/audit.js.map +1 -1
  26. package/build/lib/commands/battery.d.ts +11 -14
  27. package/build/lib/commands/battery.d.ts.map +1 -1
  28. package/build/lib/commands/battery.js +36 -37
  29. package/build/lib/commands/battery.js.map +1 -1
  30. package/build/lib/commands/biometric.d.ts +30 -33
  31. package/build/lib/commands/biometric.d.ts.map +1 -1
  32. package/build/lib/commands/biometric.js +42 -41
  33. package/build/lib/commands/biometric.js.map +1 -1
  34. package/build/lib/commands/certificate.d.ts +48 -45
  35. package/build/lib/commands/certificate.d.ts.map +1 -1
  36. package/build/lib/commands/certificate.js +218 -205
  37. package/build/lib/commands/certificate.js.map +1 -1
  38. package/build/lib/commands/clipboard.d.ts +19 -22
  39. package/build/lib/commands/clipboard.d.ts.map +1 -1
  40. package/build/lib/commands/clipboard.js +30 -30
  41. package/build/lib/commands/clipboard.js.map +1 -1
  42. package/build/lib/commands/condition.d.ts +49 -26
  43. package/build/lib/commands/condition.d.ts.map +1 -1
  44. package/build/lib/commands/condition.js +87 -86
  45. package/build/lib/commands/condition.js.map +1 -1
  46. package/build/lib/commands/content-size.d.ts +26 -29
  47. package/build/lib/commands/content-size.d.ts.map +1 -1
  48. package/build/lib/commands/content-size.js +36 -36
  49. package/build/lib/commands/content-size.js.map +1 -1
  50. package/build/lib/commands/context.d.ts +161 -108
  51. package/build/lib/commands/context.d.ts.map +1 -1
  52. package/build/lib/commands/context.js +530 -517
  53. package/build/lib/commands/context.js.map +1 -1
  54. package/build/lib/commands/deviceInfo.d.ts +9 -12
  55. package/build/lib/commands/deviceInfo.d.ts.map +1 -1
  56. package/build/lib/commands/deviceInfo.js +17 -18
  57. package/build/lib/commands/deviceInfo.js.map +1 -1
  58. package/build/lib/commands/element.d.ts +102 -105
  59. package/build/lib/commands/element.d.ts.map +1 -1
  60. package/build/lib/commands/element.js +337 -323
  61. package/build/lib/commands/element.js.map +1 -1
  62. package/build/lib/commands/execute.d.ts +24 -19
  63. package/build/lib/commands/execute.d.ts.map +1 -1
  64. package/build/lib/commands/execute.js +63 -62
  65. package/build/lib/commands/execute.js.map +1 -1
  66. package/build/lib/commands/file-movement.d.ts +77 -80
  67. package/build/lib/commands/file-movement.d.ts.map +1 -1
  68. package/build/lib/commands/file-movement.js +130 -124
  69. package/build/lib/commands/file-movement.js.map +1 -1
  70. package/build/lib/commands/find.d.ts +18 -21
  71. package/build/lib/commands/find.d.ts.map +1 -1
  72. package/build/lib/commands/find.js +158 -156
  73. package/build/lib/commands/find.js.map +1 -1
  74. package/build/lib/commands/general.d.ts +124 -116
  75. package/build/lib/commands/general.d.ts.map +1 -1
  76. package/build/lib/commands/general.js +248 -232
  77. package/build/lib/commands/general.js.map +1 -1
  78. package/build/lib/commands/geolocation.d.ts +43 -46
  79. package/build/lib/commands/geolocation.d.ts.map +1 -1
  80. package/build/lib/commands/geolocation.js +10 -11
  81. package/build/lib/commands/geolocation.js.map +1 -1
  82. package/build/lib/commands/gesture.d.ts +273 -276
  83. package/build/lib/commands/gesture.d.ts.map +1 -1
  84. package/build/lib/commands/gesture.js +506 -492
  85. package/build/lib/commands/gesture.js.map +1 -1
  86. package/build/lib/commands/increase-contrast.d.ts +20 -23
  87. package/build/lib/commands/increase-contrast.d.ts.map +1 -1
  88. package/build/lib/commands/increase-contrast.js +30 -30
  89. package/build/lib/commands/increase-contrast.js.map +1 -1
  90. package/build/lib/commands/iohid.d.ts +1370 -1373
  91. package/build/lib/commands/iohid.d.ts.map +1 -1
  92. package/build/lib/commands/iohid.js +30 -31
  93. package/build/lib/commands/iohid.js.map +1 -1
  94. package/build/lib/commands/keyboard.d.ts +29 -32
  95. package/build/lib/commands/keyboard.d.ts.map +1 -1
  96. package/build/lib/commands/keyboard.js +53 -51
  97. package/build/lib/commands/keyboard.js.map +1 -1
  98. package/build/lib/commands/keychains.d.ts +9 -12
  99. package/build/lib/commands/keychains.d.ts.map +1 -1
  100. package/build/lib/commands/keychains.js +13 -14
  101. package/build/lib/commands/keychains.js.map +1 -1
  102. package/build/lib/commands/localization.d.ts +16 -19
  103. package/build/lib/commands/localization.d.ts.map +1 -1
  104. package/build/lib/commands/localization.js +25 -26
  105. package/build/lib/commands/localization.js.map +1 -1
  106. package/build/lib/commands/location.d.ts +36 -39
  107. package/build/lib/commands/location.d.ts.map +1 -1
  108. package/build/lib/commands/location.js +99 -98
  109. package/build/lib/commands/location.js.map +1 -1
  110. package/build/lib/commands/lock.d.ts +21 -24
  111. package/build/lib/commands/lock.d.ts.map +1 -1
  112. package/build/lib/commands/lock.js +39 -38
  113. package/build/lib/commands/lock.js.map +1 -1
  114. package/build/lib/commands/log.d.ts +43 -37
  115. package/build/lib/commands/log.d.ts.map +1 -1
  116. package/build/lib/commands/log.js +174 -171
  117. package/build/lib/commands/log.js.map +1 -1
  118. package/build/lib/commands/memory.d.ts +9 -12
  119. package/build/lib/commands/memory.d.ts.map +1 -1
  120. package/build/lib/commands/memory.js +37 -38
  121. package/build/lib/commands/memory.js.map +1 -1
  122. package/build/lib/commands/navigation.d.ts +30 -33
  123. package/build/lib/commands/navigation.d.ts.map +1 -1
  124. package/build/lib/commands/navigation.js +92 -92
  125. package/build/lib/commands/navigation.js.map +1 -1
  126. package/build/lib/commands/notifications.d.ts +26 -29
  127. package/build/lib/commands/notifications.d.ts.map +1 -1
  128. package/build/lib/commands/notifications.js +53 -53
  129. package/build/lib/commands/notifications.js.map +1 -1
  130. package/build/lib/commands/pasteboard.d.ts +21 -24
  131. package/build/lib/commands/pasteboard.d.ts.map +1 -1
  132. package/build/lib/commands/pasteboard.js +37 -37
  133. package/build/lib/commands/pasteboard.js.map +1 -1
  134. package/build/lib/commands/pcap.d.ts +39 -26
  135. package/build/lib/commands/pcap.d.ts.map +1 -1
  136. package/build/lib/commands/pcap.js +81 -81
  137. package/build/lib/commands/pcap.js.map +1 -1
  138. package/build/lib/commands/performance.d.ts +63 -44
  139. package/build/lib/commands/performance.d.ts.map +1 -1
  140. package/build/lib/commands/performance.js +105 -105
  141. package/build/lib/commands/performance.js.map +1 -1
  142. package/build/lib/commands/permissions.d.ts +33 -36
  143. package/build/lib/commands/permissions.d.ts.map +1 -1
  144. package/build/lib/commands/permissions.js +66 -65
  145. package/build/lib/commands/permissions.js.map +1 -1
  146. package/build/lib/commands/proxy-helper.d.ts +12 -15
  147. package/build/lib/commands/proxy-helper.d.ts.map +1 -1
  148. package/build/lib/commands/proxy-helper.js +53 -54
  149. package/build/lib/commands/proxy-helper.js.map +1 -1
  150. package/build/lib/commands/record-audio.d.ts +49 -29
  151. package/build/lib/commands/record-audio.d.ts.map +1 -1
  152. package/build/lib/commands/record-audio.js +100 -104
  153. package/build/lib/commands/record-audio.js.map +1 -1
  154. package/build/lib/commands/recordscreen.d.ts +54 -18
  155. package/build/lib/commands/recordscreen.d.ts.map +1 -1
  156. package/build/lib/commands/recordscreen.js +127 -129
  157. package/build/lib/commands/recordscreen.js.map +1 -1
  158. package/build/lib/commands/screenshots.d.ts +14 -17
  159. package/build/lib/commands/screenshots.d.ts.map +1 -1
  160. package/build/lib/commands/screenshots.js +108 -107
  161. package/build/lib/commands/screenshots.js.map +1 -1
  162. package/build/lib/commands/simctl.d.ts +11 -14
  163. package/build/lib/commands/simctl.d.ts.map +1 -1
  164. package/build/lib/commands/simctl.js +23 -26
  165. package/build/lib/commands/simctl.js.map +1 -1
  166. package/build/lib/commands/source.d.ts +14 -17
  167. package/build/lib/commands/source.d.ts.map +1 -1
  168. package/build/lib/commands/source.js +40 -43
  169. package/build/lib/commands/source.js.map +1 -1
  170. package/build/lib/commands/timeouts.d.ts +44 -33
  171. package/build/lib/commands/timeouts.d.ts.map +1 -1
  172. package/build/lib/commands/timeouts.js +65 -63
  173. package/build/lib/commands/timeouts.js.map +1 -1
  174. package/build/lib/commands/web.d.ts +247 -197
  175. package/build/lib/commands/web.d.ts.map +1 -1
  176. package/build/lib/commands/web.js +815 -786
  177. package/build/lib/commands/web.js.map +1 -1
  178. package/build/lib/commands/xctest-record-screen.d.ts +63 -66
  179. package/build/lib/commands/xctest-record-screen.d.ts.map +1 -1
  180. package/build/lib/commands/xctest-record-screen.js +103 -102
  181. package/build/lib/commands/xctest-record-screen.js.map +1 -1
  182. package/build/lib/commands/xctest.d.ts +55 -51
  183. package/build/lib/commands/xctest.d.ts.map +1 -1
  184. package/build/lib/commands/xctest.js +116 -117
  185. package/build/lib/commands/xctest.js.map +1 -1
  186. package/build/lib/driver.d.ts +278 -1597
  187. package/build/lib/driver.d.ts.map +1 -1
  188. package/build/lib/driver.js +319 -235
  189. package/build/lib/driver.js.map +1 -1
  190. package/build/lib/execute-method-map.d.ts.map +1 -1
  191. package/build/lib/execute-method-map.js +9 -0
  192. package/build/lib/execute-method-map.js.map +1 -1
  193. package/lib/commands/active-app-info.js +12 -0
  194. package/lib/commands/alert.js +68 -65
  195. package/lib/commands/app-management.js +308 -301
  196. package/lib/commands/app-strings.js +24 -26
  197. package/lib/commands/appearance.js +54 -56
  198. package/lib/commands/audit.js +18 -20
  199. package/lib/commands/battery.js +35 -37
  200. package/lib/commands/biometric.js +44 -46
  201. package/lib/commands/certificate.js +226 -215
  202. package/lib/commands/clipboard.js +30 -32
  203. package/lib/commands/condition.js +98 -100
  204. package/lib/commands/content-size.js +36 -38
  205. package/lib/commands/context.js +495 -490
  206. package/lib/commands/deviceInfo.js +19 -20
  207. package/lib/commands/element.js +367 -357
  208. package/lib/commands/execute.js +72 -72
  209. package/lib/commands/file-movement.js +132 -134
  210. package/lib/commands/find.js +160 -159
  211. package/lib/commands/general.js +238 -231
  212. package/lib/commands/geolocation.js +6 -14
  213. package/lib/commands/gesture.js +525 -515
  214. package/lib/commands/increase-contrast.js +30 -32
  215. package/lib/commands/iohid.js +32 -34
  216. package/lib/commands/keyboard.js +49 -51
  217. package/lib/commands/keychains.js +12 -14
  218. package/lib/commands/localization.js +24 -26
  219. package/lib/commands/location.js +102 -104
  220. package/lib/commands/lock.js +38 -38
  221. package/lib/commands/log.js +197 -198
  222. package/lib/commands/memory.js +40 -42
  223. package/lib/commands/navigation.js +96 -100
  224. package/lib/commands/notifications.js +57 -59
  225. package/lib/commands/pasteboard.js +37 -39
  226. package/lib/commands/pcap.js +84 -86
  227. package/lib/commands/performance.js +132 -133
  228. package/lib/commands/permissions.js +67 -69
  229. package/lib/commands/proxy-helper.js +60 -61
  230. package/lib/commands/record-audio.js +115 -120
  231. package/lib/commands/recordscreen.js +145 -149
  232. package/lib/commands/screenshots.js +116 -116
  233. package/lib/commands/simctl.js +25 -29
  234. package/lib/commands/source.js +42 -46
  235. package/lib/commands/timeouts.js +59 -63
  236. package/lib/commands/web.js +878 -858
  237. package/lib/commands/xctest-record-screen.js +103 -105
  238. package/lib/commands/xctest.js +134 -139
  239. package/lib/driver.js +287 -235
  240. package/lib/execute-method-map.ts +9 -0
  241. package/npm-shrinkwrap.json +2 -2
  242. package/package.json +1 -1
  243. package/build/lib/commands/activeAppInfo.d.ts +0 -12
  244. package/build/lib/commands/activeAppInfo.d.ts.map +0 -1
  245. package/build/lib/commands/activeAppInfo.js +0 -15
  246. package/build/lib/commands/activeAppInfo.js.map +0 -1
  247. package/build/lib/commands/index.d.ts +0 -96
  248. package/build/lib/commands/index.d.ts.map +0 -1
  249. package/build/lib/commands/index.js +0 -100
  250. package/build/lib/commands/index.js.map +0 -1
  251. package/lib/commands/activeAppInfo.js +0 -14
  252. package/lib/commands/index.js +0 -95
@@ -5,282 +5,279 @@
5
5
  * @returns {string}
6
6
  */
7
7
  export function gesturesChainToString(gestures: any[], keysToInclude?: string[] | null): string;
8
- declare namespace _default {
9
- /**
10
- * Shake the device
11
- * @this {XCUITestDriver}
12
- * @group Simulator Only
13
- */
14
- function mobileShake(this: import("../driver").XCUITestDriver): Promise<void>;
15
- /**
16
- * @this {XCUITestDriver}
17
- */
18
- function click(this: import("../driver").XCUITestDriver, el: any): Promise<any>;
19
- /**
20
- * @this {XCUITestDriver}
21
- */
22
- function releaseActions(this: import("../driver").XCUITestDriver): Promise<void>;
23
- /**
24
- * @param {import('@appium/types').ActionSequence[]} actions
25
- * @returns {Promise<void>}
26
- * @this {XCUITestDriver}
27
- */
28
- function performActions(this: import("../driver").XCUITestDriver, actions: import("@appium/types").ActionSequence[]): Promise<void>;
29
- /**
30
- * @param {import('@appium/types').Element|string} el
31
- * @this {XCUITestDriver}
32
- * @group Native Only
33
- */
34
- function nativeClick(this: import("../driver").XCUITestDriver, el: import("@appium/types").Element | string): Promise<unknown>;
35
- /**
36
- * Scrolls the current viewport to the given element.
37
- *
38
- * This command expects the destination element to be inside a scrollable container and is hittable. The scroll direction is detected automatically.
39
- *
40
- * This API uses native XCTest calls, so it is performant. The same native call is implicitly performed by a `click` command if the destination element is outside the current viewport.
41
- *
42
- * @since 4.7.0
43
- * @throws If the scrolling action cannot be performed
44
- * @privateRemarks See https://github.com/facebook/WebDriverAgent/blob/master/WebDriverAgentLib/Commands/FBElementCommands.m for details on WDA gestures API
45
- * @param {Element|string} elementId - The internal element identifier (as hexadecimal hash string) to scroll to. The destination element must be located in a scrollable container and must be hittable. If the element is already present in the current viewport then no action is performed.
46
- * @returns {Promise<void>}
47
- * @this {XCUITestDriver}
48
- */
49
- function mobileScrollToElement(this: import("../driver").XCUITestDriver, elementId: Element | string): Promise<void>;
50
- /**
51
- * Scrolls an element or the entire screen.
52
- *
53
- * Use this command to emulate precise scrolling in tables or collection views where it is already known to which element the scrolling should be performed.
54
- *
55
- * The arguments define the chosen strategy: one of `name`, `direction`, `predicateString` or `toVisible`.
56
- *
57
- * **All strategies are exclusive**; only one strategy can be used at one time.
58
- *
59
- * **Known Limitations:**
60
- *
61
- * - If it is necessary to perform many scroll gestures on parent container to reach the necessary child element (tens of them), then the method call may fail. *
62
- * - The implementation of this extension relies on several undocumented XCTest features, which might not always be reliable.
63
- *
64
- * @param {string} [name] - The internal element identifier (as hexadecimal hash string) to scroll on (e.g. the container). The Application element will be used if this argument is not provided.
65
- * @param {import('./types').Direction} [direction] - The main difference between this command and a `mobile: swipe` command using the same direction is that `mobile: scroll` will attempt to move the current viewport exactly to the next or previous page (the term "page" means the content, which fits into a single device screen).
66
- * @param {string} [predicateString] - The `NSPredicate` locator of the child element, to which the scrolling should be performed. Has no effect if `elementId` is not a container.
67
- * @param {boolean} [toVisible] - If `true`, scrolls to the first visible `elementId` in the parent container. Has no effect if `elementId` is unset.
68
- * @param {number} [distance] - A ratio of the screen height; `1.0` means a full-screen-worth of scrolling.
69
- * @param {Element|string} [elementId] - Element ID or Element used in various strategies.
70
- * @returns {Promise<void>}
71
- * @this {XCUITestDriver}
72
- * @example
73
- * ```python
74
- * driver.execute_script('mobile: scroll', {'direction': 'down'})
75
- * ```
76
- */
77
- function mobileScroll(this: import("../driver").XCUITestDriver, name?: string, direction?: import("./types").Direction, predicateString?: string, toVisible?: boolean, distance?: number, elementId?: Element | string): Promise<void>;
78
- /**
79
- * @param {import('./types').Direction} direction
80
- * @param {number} [velocity]
81
- * @param {Element|string} [elementId]
82
- * @this {XCUITestDriver}
83
- */
84
- function mobileSwipe(this: import("../driver").XCUITestDriver, direction: import("./types").Direction, velocity?: number, elementId?: Element | string): Promise<void>;
85
- /**
86
- * Performs a pinch gesture on the given element or on the Application element.
87
- *
88
- * @param {number} scale - Pinch scale (float value). A value between `0` and `1` performs a "pinch close" (or "zoom out"); a value greater than `1` performs a "pinch open" ("zoom in").
89
- * @param {number} velocity - The velocity of the pinch in scale factor per second (float value).
90
- * @param {Element|string} [elementId] The internal element identifier (as hexadecimal hash string) to pinch on. The Application element will be used if this parameter is not provided.
91
- * @returns {Promise<void>}
92
- * @this {XCUITestDriver}
93
- * @see https://developer.apple.com/documentation/xctest/xcuielement/1618669-pinchwithscale?language=objc
94
- * @example
95
- *
96
- * ```ruby
97
- * execute_script 'mobile: pinch', scale: 0.5, velocity: 1.1, element: element.ref
98
- * ```
99
- */
100
- function mobilePinch(this: import("../driver").XCUITestDriver, scale: number, velocity: number, elementId?: Element | string): Promise<void>;
101
- /**
102
- * Performs double tap gesture on the given element or on the screen.
103
- *
104
- * @param {Element|string} [elementId] - The internal element identifier (as hexadecimal hash string) to double tap on. The Application element will be used if this parameter is not provided.
105
- * @param {number} [x] - The _x_ coordinate (float value) to double tap on.
106
- * @param {number} [y] - The _y_ coordinate (float value) to double tap on.
107
- * @returns {Promise<void>}
108
- * @this {XCUITestDriver}
109
- * @example
110
- * ```javascript
111
- * // using WebdriverIO
112
- * await driver.execute('mobile: doubleTap', {element: element.value.ELEMENT});
113
- * ```
114
- */
115
- function mobileDoubleTap(this: import("../driver").XCUITestDriver, elementId?: Element | string, x?: number, y?: number): Promise<void>;
116
- /**
117
- * Performs two finger tap gesture on the given element or on the application element.
118
- *
119
- * @param {Element|string} [elementId] - The internal element identifier (as hexadecimal hash string) to double tap on. The Application element will be used if this parameter is not provided.
120
- * @returns {Promise<void>}
121
- * @this {XCUITestDriver}
122
- * @see https://developer.apple.com/documentation/xctest/xcuielement/1618675-twofingertap?language=objc
123
- * @example
124
- * ```csharp
125
- * Dictionary<string, object> tfTap = new Dictionary<string, object>();
126
- * tfTap.Add("element", element.Id);
127
- * ((IJavaScriptExecutor)driver).ExecuteScript("mobile: twoFingerTap", tfTap);
128
- * ```
129
- */
130
- function mobileTwoFingerTap(this: import("../driver").XCUITestDriver, elementId?: Element | string): Promise<void>;
131
- /**
132
- * Performs a "long press" gesture on the given element or on the screen.
133
- *
134
- * @param {number} duration - The duration (in seconds) of the gesture.
135
- * @param {number} [y] - The _y_ coordinate (float value) to hold on.
136
- * @param {number} [x] - The _x_ coordinate (float value) to hold on.
137
- * @param {Element|string} [elementId] - The internal element identifier (as hexadecimal hash string) to double tap on. The Application element will be used if this parameter is not provided.
138
- * @this {XCUITestDriver}
139
- * @see https://developer.apple.com/documentation/xctest/xcuielement/1618663-pressforduration?language=objc
140
- * @example
141
- * ```csharp
142
- * Dictionary<string, object> tfLongTap = new Dictionary<string, object>();
143
- * tfLongTap.Add("element", element.Id);
144
- * tfLongTap.Add("duration", 2.0);
145
- * ((IJavaScriptExecutor)driver).ExecuteScript("mobile: touchAndHold", tfLongTap);
146
- * ```
147
- */
148
- function mobileTouchAndHold(this: import("../driver").XCUITestDriver, duration: number, x?: number, y?: number, elementId?: Element | string): Promise<void>;
149
- /**
150
- * Performs tap gesture by coordinates on the given element or on the screen.
151
- *
152
- * @param {number} x - The _x_ coordinate (float value) to tap on. If `elementId` is provided, this is computed relative to the element; otherwise it is computed relative to the active Application element.
153
- * @param {number} y - The _y_ coordinate (float value) to tap on. If `elementId` is provided, this is computed relative to the element; otherwise it is computed relative to the active Application element.
154
- * @param {string|Element} [elementId] - The internal element identifier (as hexadecimal hash string) to tap on. The Application element will be used if this parameter is not provided.
155
- * @this {XCUITestDriver}
156
- * @returns {Promise<void>}
157
- */
158
- function mobileTap(this: import("../driver").XCUITestDriver, x: number, y: number, elementId?: string | Element): Promise<void>;
159
- /**
160
- * Performs drag and drop gesture by coordinates on the given element or on the screen.
161
- *
162
- * @param {number} duration - The duration (in seconds) of the gesture. Must be between `0.5` and `60.0`, inclusive.
163
- * @param {number} fromX - The _x_ coordinate (float value) of the starting drag point.
164
- * @param {number} fromY - The _y_ coordinate (float value) of the starting drag point.
165
- * @param {number} toX - The _x_ coordinate (float value) of the ending drag point.
166
- * @param {number} toY - The _y_ coordinate (float value) of the ending drag point.
167
- * @param {string|Element} [elementId] - The internal element identifier (as hexadecimal hash string) to drag. If provided, all coordinates will be calculated relative to this element; otherwise they will be calculated relative to the active Application element.
168
- * @returns {Promise<void>}
169
- * @see https://developer.apple.com/documentation/xctest/xcuielement/1500989-clickforduration?language=objc
170
- * @this {XCUITestDriver}
171
- * @example
172
- * ```java
173
- * JavascriptExecutor js = (JavascriptExecutor) driver;
174
- * Map<String, Object> params = new HashMap<>();
175
- * params.put("duration", 1.0);
176
- * params.put("fromX", 100);
177
- * params.put("fromY", 100);
178
- * params.put("toX", 200);
179
- * params.put("toY", 200);
180
- * params.put("element", ((RemoteWebElement) element).getId());
181
- * js.executeScript("mobile: dragFromToForDuration", params);
182
- * ```
183
- */
184
- function mobileDragFromToForDuration(this: import("../driver").XCUITestDriver, duration: number, fromX: number, fromY: number, toX: number, toY: number, elementId?: string | Element): Promise<void>;
185
- /**
186
- * Initiates a press-and-hold gesture, drags to another coordinate or an element with a given velocity, and holds for a given duration.
187
- *
188
- * @param {number} pressDuration - The duration (in seconds) of the press-and-hold gesture at the starting point. Must be between `0.5` and `60.0`, inclusive.
189
- * @param {number} holdDuration - The duration (in seconds) of the hold gesture at the ending point (after dragging). Must be between `0.5` and `60.0`, inclusive.
190
- * @param {number} velocity - The speed (in pixels-per-second) which to move from the initial position to the end position.
191
- * @param {string|Element} [fromElementId] - The internal element identifier (as hexadecimal hash string) to drag from. Absolute screen coordinates are expected if this argument is not provided.
192
- * @param {string|Element} [toElementId] - The internal element identifier (as hexadecimal hash string) to drag to. Absolute screen coordinates are expected if this argument is not provided.
193
- * @param {number} [fromX] - The _x_ coordinate (float value) of the starting drag point.
194
- * @param {number} [fromY] - The _y_ coordinate (float value) of the starting drag point.
195
- * @param {number} [toX] - The _x_ coordinate (float value) of the ending drag point.
196
- * @param {number} [toY] - The _y_ coordinate (float value) of the ending drag point.
197
- * @returns {Promise<void>}
198
- * @see https://developer.apple.com/documentation/xctest/xcuielement/3551693-pressforduration?language=objc
199
- * @see https://developer.apple.com/documentation/xctest/xcuicoordinate/3551692-pressforduration?language=objc
200
- * @this {XCUITestDriver}
201
- */
202
- function mobileDragFromToWithVelocity(this: import("../driver").XCUITestDriver, pressDuration: number, holdDuration: number, velocity: number, fromElementId?: string | Element, toElementId?: string | Element, fromX?: number, fromY?: number, toX?: number, toY?: number): Promise<void>;
203
- /**
204
- * Sends one or more taps with one or more touch points.
205
- *
206
- * @since 1.17.1
207
- * @param {number} [numberOfTaps=1] - Number of taps to perform.
208
- * @param {number} [numberOfTouches=1] - Number of touch points to use.
209
- * @param {string|Element} [elementId] - The internal element identifier (as hexadecimal hash string) to perform one or more taps.
210
- * The Application element will be used if this parameter is not provided.
211
- * @returns {Promise<void>}
212
- * @this {XCUITestDriver}
213
- * @see https://developer.apple.com/documentation/xctest/xcuielement/1618671-tapwithnumberoftaps?language=objc
214
- * @example
215
- * ```ruby
216
- * e = @driver.find_element :id, 'target element'
217
- * # Taps the element with a single touch point twice
218
- * @driver.execute_script 'mobile: tapWithNumberOfTaps', {element: e.ref, numberOfTaps: 2, numberOfTouches: 1}
219
- * ```
220
- */
221
- function mobileTapWithNumberOfTaps(this: import("../driver").XCUITestDriver, numberOfTouches?: number, numberOfTaps?: number, elementId?: string | Element): Promise<void>;
222
- /**
223
- * Performs a "force press" on the given element or coordinates.
224
- *
225
- * @throws If the target device does not support the "force press" gesture.
226
- * @param {number} [x] - The _x_ coordinate of the gesture. If `elementId` is set, this is calculated relative to its position; otherwise it's calculated relative to the active Application.
227
- * @param {number} [y] - The _y_ coordinate of the gesture. If `elementId` is set, this is calculated relative to its position; otherwise it's calculated relative to the active Application.
228
- * @param {number} [duration] - The duration (in seconds) of the force press. If this is provided, `pressure` must also be provided.
229
- * @param {number} [pressure] - A float value defining the pressure of the force press. If this is provided, `duration` must also be provided.
230
- * @param {string|Element} [elementId] - The internal element identifier (as hexadecimal hash string) to perform one or more taps.
231
- * The Application element will be used if this parameter is not provided.
232
- * @returns {Promise<void>}
233
- * @this {XCUITestDriver}
234
- */
235
- function mobileForcePress(this: import("../driver").XCUITestDriver, x?: number, y?: number, duration?: number, pressure?: number, elementId?: string | Element): Promise<void>;
236
- /**
237
- * Performs selection of the next or previous picker wheel value.
238
- *
239
- * This might be useful if these values are populated dynamically; you don't know which one to select, or the value selection using the `sendKeys` API does not work (for whatever reason).
240
- *
241
- * @throws Upon failure to change the current picker value.
242
- * @param {string|Element} elementId - `PickerWheel`'s internal element ID as hexadecimal hash string. Value selection will be performed on this element. This element must be of type `XCUIElementTypePickerWheel`.
243
- * @param {'next'|'previous'} order - Either `next` to select the value _next_ to the current from the target picker wheel, or `previous` to select the _previous_ value.
244
- * @param {number} [offset=0.2] - The value in range `[0.01, 0.5]`. It defines how far from picker wheel's center the click should happen. The actual distance is calculated by multiplying this value to the actual picker wheel height. Too small an offset value may not change the picker wheel value at all, and too high a value may cause the wheel to switch two or more values at once. Usually the optimal value is located in range `[0.15, 0.3]`.
245
- * @param {string?} [value=undefined] - If provided WDA will try to automatically scroll in the given direction until the actual picker value reaches the expected one or the amount of scrolling attempts is exceeded.
246
- * @param {number} [maxAttempts=25] - The maximum number of scrolling attempts to reach `value` before an error will be thrown. Only makes sense in combination with `value`.
247
- * @this {XCUITestDriver}
248
- * @example
249
- * ```java
250
- * JavascriptExecutor js = (JavascriptExecutor) driver;
251
- * Map<String, Object> params = new HashMap<>();
252
- * params.put("order", "next");
253
- * params.put("offset", 0.15);
254
- * params.put("element", ((RemoteWebElement) element).getId());
255
- * js.executeScript("mobile: selectPickerWheelValue", params);
256
- * ```
257
- */
258
- function mobileSelectPickerWheelValue(this: import("../driver").XCUITestDriver, elementId: string | Element, order: "next" | "previous", offset?: number, value?: string | null, maxAttempts?: number): Promise<unknown>;
259
- /**
260
- * Performs a rotate gesture on the given element.
261
- *
262
- * @see https://developer.apple.com/documentation/xctest/xcuielement/1618665-rotate?language=objc
263
- * @param {number} rotation - The rotation gesture (in radians)
264
- * @param {number} velocity - The velocity (in radians-per-second) of the gesture.
265
- * @param {string|Element} [elementId] - The internal element identifier (as hexadecimal hash string) to perform the gesture on.
266
- * The Application element will be used if this parameter is not provided.
267
- * @returns {Promise<void>}
268
- * @this {XCUITestDriver}
269
- * @example
270
- * ```java
271
- * JavascriptExecutor js = (JavascriptExecutor) driver;
272
- * js.executeScript("mobile: rotateElement", ImmutableMap.of(
273
- * // rotate clockwise, 90 degrees
274
- * "rotation", -Math.PI / 2,
275
- * // in approximately two seconds
276
- * "velocity", Math.PI / 4,
277
- * "element", ((RemoteWebElement) element).getId()
278
- * ));
279
- * ```
280
- */
281
- function mobileRotateElement(this: import("../driver").XCUITestDriver, rotation: number, velocity: number, elementId?: string | Element): Promise<void>;
282
- }
283
- export default _default;
8
+ /**
9
+ * Shake the device
10
+ * @this {XCUITestDriver}
11
+ * @group Simulator Only
12
+ */
13
+ export function mobileShake(this: import("../driver").XCUITestDriver): Promise<void>;
14
+ /**
15
+ * @this {XCUITestDriver}
16
+ */
17
+ export function click(this: import("../driver").XCUITestDriver, el: any): Promise<any>;
18
+ /**
19
+ * @this {XCUITestDriver}
20
+ */
21
+ export function releaseActions(this: import("../driver").XCUITestDriver): Promise<void>;
22
+ /**
23
+ * @param {import('@appium/types').ActionSequence[]} actions
24
+ * @returns {Promise<void>}
25
+ * @this {XCUITestDriver}
26
+ */
27
+ export function performActions(this: import("../driver").XCUITestDriver, actions: import("@appium/types").ActionSequence[]): Promise<void>;
28
+ /**
29
+ * @param {import('@appium/types').Element|string} el
30
+ * @this {XCUITestDriver}
31
+ * @group Native Only
32
+ */
33
+ export function nativeClick(this: import("../driver").XCUITestDriver, el: import("@appium/types").Element | string): Promise<unknown>;
34
+ /**
35
+ * Scrolls the current viewport to the given element.
36
+ *
37
+ * This command expects the destination element to be inside a scrollable container and is hittable. The scroll direction is detected automatically.
38
+ *
39
+ * This API uses native XCTest calls, so it is performant. The same native call is implicitly performed by a `click` command if the destination element is outside the current viewport.
40
+ *
41
+ * @since 4.7.0
42
+ * @throws If the scrolling action cannot be performed
43
+ * @privateRemarks See https://github.com/facebook/WebDriverAgent/blob/master/WebDriverAgentLib/Commands/FBElementCommands.m for details on WDA gestures API
44
+ * @param {Element|string} elementId - The internal element identifier (as hexadecimal hash string) to scroll to. The destination element must be located in a scrollable container and must be hittable. If the element is already present in the current viewport then no action is performed.
45
+ * @returns {Promise<void>}
46
+ * @this {XCUITestDriver}
47
+ */
48
+ export function mobileScrollToElement(this: import("../driver").XCUITestDriver, elementId: Element | string): Promise<void>;
49
+ /**
50
+ * Scrolls an element or the entire screen.
51
+ *
52
+ * Use this command to emulate precise scrolling in tables or collection views where it is already known to which element the scrolling should be performed.
53
+ *
54
+ * The arguments define the chosen strategy: one of `name`, `direction`, `predicateString` or `toVisible`.
55
+ *
56
+ * **All strategies are exclusive**; only one strategy can be used at one time.
57
+ *
58
+ * **Known Limitations:**
59
+ *
60
+ * - If it is necessary to perform many scroll gestures on parent container to reach the necessary child element (tens of them), then the method call may fail. *
61
+ * - The implementation of this extension relies on several undocumented XCTest features, which might not always be reliable.
62
+ *
63
+ * @param {string} [name] - The internal element identifier (as hexadecimal hash string) to scroll on (e.g. the container). The Application element will be used if this argument is not provided.
64
+ * @param {import('./types').Direction} [direction] - The main difference between this command and a `mobile: swipe` command using the same direction is that `mobile: scroll` will attempt to move the current viewport exactly to the next or previous page (the term "page" means the content, which fits into a single device screen).
65
+ * @param {string} [predicateString] - The `NSPredicate` locator of the child element, to which the scrolling should be performed. Has no effect if `elementId` is not a container.
66
+ * @param {boolean} [toVisible] - If `true`, scrolls to the first visible `elementId` in the parent container. Has no effect if `elementId` is unset.
67
+ * @param {number} [distance] - A ratio of the screen height; `1.0` means a full-screen-worth of scrolling.
68
+ * @param {Element|string} [elementId] - Element ID or Element used in various strategies.
69
+ * @returns {Promise<void>}
70
+ * @this {XCUITestDriver}
71
+ * @example
72
+ * ```python
73
+ * driver.execute_script('mobile: scroll', {'direction': 'down'})
74
+ * ```
75
+ */
76
+ export function mobileScroll(this: import("../driver").XCUITestDriver, name?: string, direction?: import("./types").Direction, predicateString?: string, toVisible?: boolean, distance?: number, elementId?: Element | string): Promise<void>;
77
+ /**
78
+ * @param {import('./types').Direction} direction
79
+ * @param {number} [velocity]
80
+ * @param {Element|string} [elementId]
81
+ * @this {XCUITestDriver}
82
+ */
83
+ export function mobileSwipe(this: import("../driver").XCUITestDriver, direction: import("./types").Direction, velocity?: number, elementId?: Element | string): Promise<void>;
84
+ /**
85
+ * Performs a pinch gesture on the given element or on the Application element.
86
+ *
87
+ * @param {number} scale - Pinch scale (float value). A value between `0` and `1` performs a "pinch close" (or "zoom out"); a value greater than `1` performs a "pinch open" ("zoom in").
88
+ * @param {number} velocity - The velocity of the pinch in scale factor per second (float value).
89
+ * @param {Element|string} [elementId] The internal element identifier (as hexadecimal hash string) to pinch on. The Application element will be used if this parameter is not provided.
90
+ * @returns {Promise<void>}
91
+ * @this {XCUITestDriver}
92
+ * @see https://developer.apple.com/documentation/xctest/xcuielement/1618669-pinchwithscale?language=objc
93
+ * @example
94
+ *
95
+ * ```ruby
96
+ * execute_script 'mobile: pinch', scale: 0.5, velocity: 1.1, element: element.ref
97
+ * ```
98
+ */
99
+ export function mobilePinch(this: import("../driver").XCUITestDriver, scale: number, velocity: number, elementId?: Element | string): Promise<void>;
100
+ /**
101
+ * Performs double tap gesture on the given element or on the screen.
102
+ *
103
+ * @param {Element|string} [elementId] - The internal element identifier (as hexadecimal hash string) to double tap on. The Application element will be used if this parameter is not provided.
104
+ * @param {number} [x] - The _x_ coordinate (float value) to double tap on.
105
+ * @param {number} [y] - The _y_ coordinate (float value) to double tap on.
106
+ * @returns {Promise<void>}
107
+ * @this {XCUITestDriver}
108
+ * @example
109
+ * ```javascript
110
+ * // using WebdriverIO
111
+ * await driver.execute('mobile: doubleTap', {element: element.value.ELEMENT});
112
+ * ```
113
+ */
114
+ export function mobileDoubleTap(this: import("../driver").XCUITestDriver, elementId?: Element | string, x?: number, y?: number): Promise<void>;
115
+ /**
116
+ * Performs two finger tap gesture on the given element or on the application element.
117
+ *
118
+ * @param {Element|string} [elementId] - The internal element identifier (as hexadecimal hash string) to double tap on. The Application element will be used if this parameter is not provided.
119
+ * @returns {Promise<void>}
120
+ * @this {XCUITestDriver}
121
+ * @see https://developer.apple.com/documentation/xctest/xcuielement/1618675-twofingertap?language=objc
122
+ * @example
123
+ * ```csharp
124
+ * Dictionary<string, object> tfTap = new Dictionary<string, object>();
125
+ * tfTap.Add("element", element.Id);
126
+ * ((IJavaScriptExecutor)driver).ExecuteScript("mobile: twoFingerTap", tfTap);
127
+ * ```
128
+ */
129
+ export function mobileTwoFingerTap(this: import("../driver").XCUITestDriver, elementId?: Element | string): Promise<void>;
130
+ /**
131
+ * Performs a "long press" gesture on the given element or on the screen.
132
+ *
133
+ * @param {number} duration - The duration (in seconds) of the gesture.
134
+ * @param {number} [y] - The _y_ coordinate (float value) to hold on.
135
+ * @param {number} [x] - The _x_ coordinate (float value) to hold on.
136
+ * @param {Element|string} [elementId] - The internal element identifier (as hexadecimal hash string) to double tap on. The Application element will be used if this parameter is not provided.
137
+ * @this {XCUITestDriver}
138
+ * @see https://developer.apple.com/documentation/xctest/xcuielement/1618663-pressforduration?language=objc
139
+ * @example
140
+ * ```csharp
141
+ * Dictionary<string, object> tfLongTap = new Dictionary<string, object>();
142
+ * tfLongTap.Add("element", element.Id);
143
+ * tfLongTap.Add("duration", 2.0);
144
+ * ((IJavaScriptExecutor)driver).ExecuteScript("mobile: touchAndHold", tfLongTap);
145
+ * ```
146
+ */
147
+ export function mobileTouchAndHold(this: import("../driver").XCUITestDriver, duration: number, x?: number, y?: number, elementId?: Element | string): Promise<void>;
148
+ /**
149
+ * Performs tap gesture by coordinates on the given element or on the screen.
150
+ *
151
+ * @param {number} x - The _x_ coordinate (float value) to tap on. If `elementId` is provided, this is computed relative to the element; otherwise it is computed relative to the active Application element.
152
+ * @param {number} y - The _y_ coordinate (float value) to tap on. If `elementId` is provided, this is computed relative to the element; otherwise it is computed relative to the active Application element.
153
+ * @param {string|Element} [elementId] - The internal element identifier (as hexadecimal hash string) to tap on. The Application element will be used if this parameter is not provided.
154
+ * @this {XCUITestDriver}
155
+ * @returns {Promise<void>}
156
+ */
157
+ export function mobileTap(this: import("../driver").XCUITestDriver, x: number, y: number, elementId?: string | Element): Promise<void>;
158
+ /**
159
+ * Performs drag and drop gesture by coordinates on the given element or on the screen.
160
+ *
161
+ * @param {number} duration - The duration (in seconds) of the gesture. Must be between `0.5` and `60.0`, inclusive.
162
+ * @param {number} fromX - The _x_ coordinate (float value) of the starting drag point.
163
+ * @param {number} fromY - The _y_ coordinate (float value) of the starting drag point.
164
+ * @param {number} toX - The _x_ coordinate (float value) of the ending drag point.
165
+ * @param {number} toY - The _y_ coordinate (float value) of the ending drag point.
166
+ * @param {string|Element} [elementId] - The internal element identifier (as hexadecimal hash string) to drag. If provided, all coordinates will be calculated relative to this element; otherwise they will be calculated relative to the active Application element.
167
+ * @returns {Promise<void>}
168
+ * @see https://developer.apple.com/documentation/xctest/xcuielement/1500989-clickforduration?language=objc
169
+ * @this {XCUITestDriver}
170
+ * @example
171
+ * ```java
172
+ * JavascriptExecutor js = (JavascriptExecutor) driver;
173
+ * Map<String, Object> params = new HashMap<>();
174
+ * params.put("duration", 1.0);
175
+ * params.put("fromX", 100);
176
+ * params.put("fromY", 100);
177
+ * params.put("toX", 200);
178
+ * params.put("toY", 200);
179
+ * params.put("element", ((RemoteWebElement) element).getId());
180
+ * js.executeScript("mobile: dragFromToForDuration", params);
181
+ * ```
182
+ */
183
+ export function mobileDragFromToForDuration(this: import("../driver").XCUITestDriver, duration: number, fromX: number, fromY: number, toX: number, toY: number, elementId?: string | Element): Promise<void>;
184
+ /**
185
+ * Initiates a press-and-hold gesture, drags to another coordinate or an element with a given velocity, and holds for a given duration.
186
+ *
187
+ * @param {number} pressDuration - The duration (in seconds) of the press-and-hold gesture at the starting point. Must be between `0.5` and `60.0`, inclusive.
188
+ * @param {number} holdDuration - The duration (in seconds) of the hold gesture at the ending point (after dragging). Must be between `0.5` and `60.0`, inclusive.
189
+ * @param {number} velocity - The speed (in pixels-per-second) which to move from the initial position to the end position.
190
+ * @param {string|Element} [fromElementId] - The internal element identifier (as hexadecimal hash string) to drag from. Absolute screen coordinates are expected if this argument is not provided.
191
+ * @param {string|Element} [toElementId] - The internal element identifier (as hexadecimal hash string) to drag to. Absolute screen coordinates are expected if this argument is not provided.
192
+ * @param {number} [fromX] - The _x_ coordinate (float value) of the starting drag point.
193
+ * @param {number} [fromY] - The _y_ coordinate (float value) of the starting drag point.
194
+ * @param {number} [toX] - The _x_ coordinate (float value) of the ending drag point.
195
+ * @param {number} [toY] - The _y_ coordinate (float value) of the ending drag point.
196
+ * @returns {Promise<void>}
197
+ * @see https://developer.apple.com/documentation/xctest/xcuielement/3551693-pressforduration?language=objc
198
+ * @see https://developer.apple.com/documentation/xctest/xcuicoordinate/3551692-pressforduration?language=objc
199
+ * @this {XCUITestDriver}
200
+ */
201
+ export function mobileDragFromToWithVelocity(this: import("../driver").XCUITestDriver, pressDuration: number, holdDuration: number, velocity: number, fromElementId?: string | Element, toElementId?: string | Element, fromX?: number, fromY?: number, toX?: number, toY?: number): Promise<void>;
202
+ /**
203
+ * Sends one or more taps with one or more touch points.
204
+ *
205
+ * @since 1.17.1
206
+ * @param {number} [numberOfTaps=1] - Number of taps to perform.
207
+ * @param {number} [numberOfTouches=1] - Number of touch points to use.
208
+ * @param {string|Element} [elementId] - The internal element identifier (as hexadecimal hash string) to perform one or more taps.
209
+ * The Application element will be used if this parameter is not provided.
210
+ * @returns {Promise<void>}
211
+ * @this {XCUITestDriver}
212
+ * @see https://developer.apple.com/documentation/xctest/xcuielement/1618671-tapwithnumberoftaps?language=objc
213
+ * @example
214
+ * ```ruby
215
+ * e = @driver.find_element :id, 'target element'
216
+ * # Taps the element with a single touch point twice
217
+ * @driver.execute_script 'mobile: tapWithNumberOfTaps', {element: e.ref, numberOfTaps: 2, numberOfTouches: 1}
218
+ * ```
219
+ */
220
+ export function mobileTapWithNumberOfTaps(this: import("../driver").XCUITestDriver, numberOfTouches?: number, numberOfTaps?: number, elementId?: string | Element): Promise<void>;
221
+ /**
222
+ * Performs a "force press" on the given element or coordinates.
223
+ *
224
+ * @throws If the target device does not support the "force press" gesture.
225
+ * @param {number} [x] - The _x_ coordinate of the gesture. If `elementId` is set, this is calculated relative to its position; otherwise it's calculated relative to the active Application.
226
+ * @param {number} [y] - The _y_ coordinate of the gesture. If `elementId` is set, this is calculated relative to its position; otherwise it's calculated relative to the active Application.
227
+ * @param {number} [duration] - The duration (in seconds) of the force press. If this is provided, `pressure` must also be provided.
228
+ * @param {number} [pressure] - A float value defining the pressure of the force press. If this is provided, `duration` must also be provided.
229
+ * @param {string|Element} [elementId] - The internal element identifier (as hexadecimal hash string) to perform one or more taps.
230
+ * The Application element will be used if this parameter is not provided.
231
+ * @returns {Promise<void>}
232
+ * @this {XCUITestDriver}
233
+ */
234
+ export function mobileForcePress(this: import("../driver").XCUITestDriver, x?: number, y?: number, duration?: number, pressure?: number, elementId?: string | Element): Promise<void>;
235
+ /**
236
+ * Performs selection of the next or previous picker wheel value.
237
+ *
238
+ * This might be useful if these values are populated dynamically; you don't know which one to select, or the value selection using the `sendKeys` API does not work (for whatever reason).
239
+ *
240
+ * @throws Upon failure to change the current picker value.
241
+ * @param {string|Element} elementId - `PickerWheel`'s internal element ID as hexadecimal hash string. Value selection will be performed on this element. This element must be of type `XCUIElementTypePickerWheel`.
242
+ * @param {'next'|'previous'} order - Either `next` to select the value _next_ to the current from the target picker wheel, or `previous` to select the _previous_ value.
243
+ * @param {number} [offset=0.2] - The value in range `[0.01, 0.5]`. It defines how far from picker wheel's center the click should happen. The actual distance is calculated by multiplying this value to the actual picker wheel height. Too small an offset value may not change the picker wheel value at all, and too high a value may cause the wheel to switch two or more values at once. Usually the optimal value is located in range `[0.15, 0.3]`.
244
+ * @param {string?} [value=undefined] - If provided WDA will try to automatically scroll in the given direction until the actual picker value reaches the expected one or the amount of scrolling attempts is exceeded.
245
+ * @param {number} [maxAttempts=25] - The maximum number of scrolling attempts to reach `value` before an error will be thrown. Only makes sense in combination with `value`.
246
+ * @this {XCUITestDriver}
247
+ * @example
248
+ * ```java
249
+ * JavascriptExecutor js = (JavascriptExecutor) driver;
250
+ * Map<String, Object> params = new HashMap<>();
251
+ * params.put("order", "next");
252
+ * params.put("offset", 0.15);
253
+ * params.put("element", ((RemoteWebElement) element).getId());
254
+ * js.executeScript("mobile: selectPickerWheelValue", params);
255
+ * ```
256
+ */
257
+ export function mobileSelectPickerWheelValue(this: import("../driver").XCUITestDriver, elementId: string | Element, order: "next" | "previous", offset?: number, value?: string | null, maxAttempts?: number): Promise<unknown>;
258
+ /**
259
+ * Performs a rotate gesture on the given element.
260
+ *
261
+ * @see https://developer.apple.com/documentation/xctest/xcuielement/1618665-rotate?language=objc
262
+ * @param {number} rotation - The rotation gesture (in radians)
263
+ * @param {number} velocity - The velocity (in radians-per-second) of the gesture.
264
+ * @param {string|Element} [elementId] - The internal element identifier (as hexadecimal hash string) to perform the gesture on.
265
+ * The Application element will be used if this parameter is not provided.
266
+ * @returns {Promise<void>}
267
+ * @this {XCUITestDriver}
268
+ * @example
269
+ * ```java
270
+ * JavascriptExecutor js = (JavascriptExecutor) driver;
271
+ * js.executeScript("mobile: rotateElement", ImmutableMap.of(
272
+ * // rotate clockwise, 90 degrees
273
+ * "rotation", -Math.PI / 2,
274
+ * // in approximately two seconds
275
+ * "velocity", Math.PI / 4,
276
+ * "element", ((RemoteWebElement) element).getId()
277
+ * ));
278
+ * ```
279
+ */
280
+ export function mobileRotateElement(this: import("../driver").XCUITestDriver, rotation: number, velocity: number, elementId?: string | Element): Promise<void>;
284
281
  export type XCUITestDriver = import("../driver").XCUITestDriver;
285
282
  export type Element = import("@appium/types").Element;
286
283
  //# sourceMappingURL=gesture.d.ts.map