appium-uiautomator2-driver 3.10.0 → 4.0.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 (72) hide show
  1. package/CHANGELOG.md +63 -0
  2. package/build/lib/commands/actions.d.ts +13 -7
  3. package/build/lib/commands/actions.d.ts.map +1 -1
  4. package/build/lib/commands/actions.js +24 -10
  5. package/build/lib/commands/actions.js.map +1 -1
  6. package/build/lib/commands/alert.d.ts +8 -4
  7. package/build/lib/commands/alert.d.ts.map +1 -1
  8. package/build/lib/commands/alert.js +10 -6
  9. package/build/lib/commands/alert.js.map +1 -1
  10. package/build/lib/commands/app-management.d.ts +10 -6
  11. package/build/lib/commands/app-management.d.ts.map +1 -1
  12. package/build/lib/commands/app-management.js +13 -10
  13. package/build/lib/commands/app-management.js.map +1 -1
  14. package/build/lib/commands/clipboard.d.ts +0 -12
  15. package/build/lib/commands/clipboard.d.ts.map +1 -1
  16. package/build/lib/commands/clipboard.js +0 -18
  17. package/build/lib/commands/clipboard.js.map +1 -1
  18. package/build/lib/commands/element.d.ts +3 -2
  19. package/build/lib/commands/element.d.ts.map +1 -1
  20. package/build/lib/commands/element.js +3 -4
  21. package/build/lib/commands/element.js.map +1 -1
  22. package/build/lib/commands/gestures.d.ts +130 -22
  23. package/build/lib/commands/gestures.d.ts.map +1 -1
  24. package/build/lib/commands/gestures.js +130 -33
  25. package/build/lib/commands/gestures.js.map +1 -1
  26. package/build/lib/commands/keyboard.d.ts +11 -4
  27. package/build/lib/commands/keyboard.d.ts.map +1 -1
  28. package/build/lib/commands/keyboard.js +13 -7
  29. package/build/lib/commands/keyboard.js.map +1 -1
  30. package/build/lib/commands/navigation.d.ts +5 -2
  31. package/build/lib/commands/navigation.d.ts.map +1 -1
  32. package/build/lib/commands/navigation.js +5 -3
  33. package/build/lib/commands/navigation.js.map +1 -1
  34. package/build/lib/commands/screenshot.d.ts +4 -2
  35. package/build/lib/commands/screenshot.d.ts.map +1 -1
  36. package/build/lib/commands/screenshot.js +4 -3
  37. package/build/lib/commands/screenshot.js.map +1 -1
  38. package/build/lib/commands/types.d.ts +0 -387
  39. package/build/lib/commands/types.d.ts.map +1 -1
  40. package/build/lib/driver.d.ts +540 -8
  41. package/build/lib/driver.d.ts.map +1 -1
  42. package/build/lib/driver.js +2 -7
  43. package/build/lib/driver.js.map +1 -1
  44. package/build/lib/execute-method-map.d.ts +540 -0
  45. package/build/lib/execute-method-map.d.ts.map +1 -0
  46. package/build/lib/execute-method-map.js +257 -0
  47. package/build/lib/execute-method-map.js.map +1 -0
  48. package/build/tsconfig.tsbuildinfo +1 -1
  49. package/lib/commands/actions.js +32 -10
  50. package/lib/commands/alert.js +10 -6
  51. package/lib/commands/app-management.js +14 -11
  52. package/lib/commands/clipboard.js +0 -18
  53. package/lib/commands/element.js +3 -4
  54. package/lib/commands/gestures.js +184 -38
  55. package/lib/commands/keyboard.js +13 -8
  56. package/lib/commands/navigation.js +5 -3
  57. package/lib/commands/screenshot.js +4 -3
  58. package/lib/commands/types.ts +0 -406
  59. package/lib/driver.ts +2 -16
  60. package/lib/execute-method-map.ts +269 -0
  61. package/npm-shrinkwrap.json +34 -41
  62. package/package.json +2 -2
  63. package/build/lib/commands/app-strings.d.ts +0 -12
  64. package/build/lib/commands/app-strings.d.ts.map +0 -1
  65. package/build/lib/commands/app-strings.js +0 -19
  66. package/build/lib/commands/app-strings.js.map +0 -1
  67. package/build/lib/commands/execute.d.ts +0 -15
  68. package/build/lib/commands/execute.d.ts.map +0 -1
  69. package/build/lib/commands/execute.js +0 -83
  70. package/build/lib/commands/execute.js.map +0 -1
  71. package/lib/commands/app-strings.js +0 -16
  72. package/lib/commands/execute.js +0 -93
package/CHANGELOG.md CHANGED
@@ -1,3 +1,66 @@
1
+ ## [4.0.0](https://github.com/appium/appium-uiautomator2-driver/compare/v3.10.0...v4.0.0) (2025-02-01)
2
+
3
+ ### ⚠ BREAKING CHANGES
4
+
5
+ * The following methods and properties were **removed**:
6
+ - mobileSetClipboard -> replaced by setClipboard
7
+ - mobileGetClipboard -> replaced by getClipboard
8
+ - executeMobile -> replaced by execute (the` script` argument must also be changed to start with `mobile: `)
9
+ - mobileCommandsMapping -> replaced by executeMethodsMap
10
+ - mobileGetAppStrings -> replaced by getStrings
11
+ * The following methods were **changed**:
12
+ - mobileDragGesture
13
+ - mobileFlingGesture
14
+ - mobileDoubleClickGesture
15
+ - mobileClickGesture
16
+ - mobilePinchOpenGesture
17
+ - mobilePinchCloseGesture
18
+ - mobileSwipeGesture
19
+ - mobileScrollGesture
20
+ - mobileScrollBackTo
21
+ - mobileScroll
22
+ - mobileDeepLink
23
+ - mobileAcceptAlert
24
+ - mobileDismissAlert
25
+ - mobileType
26
+ - mobileReplaceElementValue
27
+ - mobileInstallMultipleApks
28
+ - mobileBackgroundApp
29
+ - mobilePressKey
30
+ - mobileScreenshots
31
+ - mobileScheduleAction
32
+ - mobileUnscheduleAction
33
+ - mobileGetActionHistory
34
+ * The following obsolete type definitions were **removed**:
35
+ - DragOptions
36
+ - FlingOptions
37
+ - ClickOptions
38
+ - LongClickOptions
39
+ - PinchOptions
40
+ - SwipeOptions
41
+ - ScrollGestureOptions
42
+ - ScrollElementToElementOpts
43
+ - ScrollOptions
44
+ - DeepLinkOpts
45
+ - AcceptAlertOptions
46
+ - DismissAlertOptions
47
+ - TypingOptions
48
+ - ReplaceValueOptions
49
+ - InstallMultipleApksOptions
50
+ - BackgroundAppOptions
51
+ - PressKeyOptions
52
+ - ScreenshotsOpts
53
+ - ActionArgs
54
+ - SetClipboardOpts
55
+ - GetAppStringsOptions
56
+
57
+
58
+ Based on https://github.com/appium/appium-android-driver/pull/982
59
+
60
+ ### Features
61
+
62
+ * Add support of executeMethodMap ([#863](https://github.com/appium/appium-uiautomator2-driver/issues/863)) ([4c45c3a](https://github.com/appium/appium-uiautomator2-driver/commit/4c45c3a85a574cb4d207ab827ce98421812d99f2))
63
+
1
64
  ## [3.10.0](https://github.com/appium/appium-uiautomator2-driver/compare/v3.9.9...v3.10.0) (2025-01-24)
2
65
 
3
66
  ### Features
@@ -1,24 +1,30 @@
1
1
  /**
2
- * See https://github.com/appium/appium-uiautomator2-driver/blob/master/docs/scheduled-actions.md#mobile-scheduleaction
2
+ * @see https://github.com/appium/appium-uiautomator2-driver/blob/master/docs/scheduled-actions.md#mobile-scheduleaction
3
3
  * @this {AndroidUiautomator2Driver}
4
- * @param {Record<string, any>} [opts={}]
4
+ * @param {string} name
5
+ * @param {import('@appium/types').StringRecord[]} steps
6
+ * @param {number} [maxPass]
7
+ * @param {number} [maxFail]
8
+ * @param {number} [times]
9
+ * @param {number} [intervalMs]
10
+ * @param {number} [maxHistoryItems]
5
11
  * @returns {Promise<any>}
6
12
  */
7
- export function mobileScheduleAction(this: import("../driver").AndroidUiautomator2Driver, opts?: Record<string, any>): Promise<any>;
13
+ export function mobileScheduleAction(this: import("../driver").AndroidUiautomator2Driver, name: string, steps: import("@appium/types").StringRecord[], maxPass?: number, maxFail?: number, times?: number, intervalMs?: number, maxHistoryItems?: number): Promise<any>;
8
14
  /**
9
15
  * @see https://github.com/appium/appium-uiautomator2-driver/blob/master/docs/scheduled-actions.md#mobile-getactionhistory
10
16
  * @this {AndroidUiautomator2Driver}
11
- * @param {import('./types').ActionArgs} [opts={}]
17
+ * @param {string} name
12
18
  * @returns {Promise<import('./types').ActionResult>}
13
19
  */
14
- export function mobileGetActionHistory(this: import("../driver").AndroidUiautomator2Driver, opts?: import("./types").ActionArgs): Promise<import("./types").ActionResult>;
20
+ export function mobileGetActionHistory(this: import("../driver").AndroidUiautomator2Driver, name: string): Promise<import("./types").ActionResult>;
15
21
  /**
16
22
  * @this {AndroidUiautomator2Driver}
17
23
  * @see https://github.com/appium/appium-uiautomator2-driver/blob/master/docs/scheduled-actions.md#mobile-unscheduleaction
18
- * @param {import('./types').ActionArgs} [opts={}]
24
+ * @param {string} name
19
25
  * @returns {Promise<any>}
20
26
  */
21
- export function mobileUnscheduleAction(this: import("../driver").AndroidUiautomator2Driver, opts?: import("./types").ActionArgs): Promise<any>;
27
+ export function mobileUnscheduleAction(this: import("../driver").AndroidUiautomator2Driver, name: string): Promise<any>;
22
28
  /**
23
29
  * @this {AndroidUiautomator2Driver}
24
30
  * @param {import('@appium/types').StringRecord[]} actions
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../lib/commands/actions.js"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,iGAHW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,OAAO,CAAC,GAAG,CAAC,CAQxB;AAED;;;;;GAKG;AACH,mGAHW,OAAO,SAAS,EAAE,UAAU,GAC1B,OAAO,CAAC,OAAO,SAAS,EAAE,YAAY,CAAC,CAUnD;AAED;;;;;GAKG;AACH,mGAHW,OAAO,SAAS,EAAE,UAAU,GAC1B,OAAO,CAAC,GAAG,CAAC,CAQxB;AAED;;;;GAIG;AACH,6FAHW,OAAO,eAAe,EAAE,YAAY,EAAE,GACpC,OAAO,CAAC,IAAI,CAAC,CAyBzB;AAED;;;GAGG;AACH,qFAFa,OAAO,CAAC,IAAI,CAAC,CAIzB;wCAGY,OAAO,WAAW,EAAE,yBAAyB"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../lib/commands/actions.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,gGATW,MAAM,SACN,OAAO,eAAe,EAAE,YAAY,EAAE,YACtC,MAAM,YACN,MAAM,UACN,MAAM,eACN,MAAM,oBACN,MAAM,GACJ,OAAO,CAAC,GAAG,CAAC,CAwBxB;AAED;;;;;GAKG;AACH,kGAHW,MAAM,GACJ,OAAO,CAAC,OAAO,SAAS,EAAE,YAAY,CAAC,CAUnD;AAED;;;;;GAKG;AACH,kGAHW,MAAM,GACJ,OAAO,CAAC,GAAG,CAAC,CAQxB;AAED;;;;GAIG;AACH,6FAHW,OAAO,eAAe,EAAE,YAAY,EAAE,GACpC,OAAO,CAAC,IAAI,CAAC,CAyBzB;AAED;;;GAGG;AACH,qFAFa,OAAO,CAAC,IAAI,CAAC,CAIzB;wCAGY,OAAO,WAAW,EAAE,yBAAyB"}
@@ -6,31 +6,45 @@ exports.mobileUnscheduleAction = mobileUnscheduleAction;
6
6
  exports.performActions = performActions;
7
7
  exports.releaseActions = releaseActions;
8
8
  /**
9
- * See https://github.com/appium/appium-uiautomator2-driver/blob/master/docs/scheduled-actions.md#mobile-scheduleaction
9
+ * @see https://github.com/appium/appium-uiautomator2-driver/blob/master/docs/scheduled-actions.md#mobile-scheduleaction
10
10
  * @this {AndroidUiautomator2Driver}
11
- * @param {Record<string, any>} [opts={}]
11
+ * @param {string} name
12
+ * @param {import('@appium/types').StringRecord[]} steps
13
+ * @param {number} [maxPass]
14
+ * @param {number} [maxFail]
15
+ * @param {number} [times]
16
+ * @param {number} [intervalMs]
17
+ * @param {number} [maxHistoryItems]
12
18
  * @returns {Promise<any>}
13
19
  */
14
- async function mobileScheduleAction(opts = {}) {
15
- return await this.uiautomator2.jwproxy.command('/appium/schedule_action', 'POST', opts);
20
+ async function mobileScheduleAction(name, steps, maxPass, maxFail, times, intervalMs, maxHistoryItems) {
21
+ return await this.uiautomator2.jwproxy.command('/appium/schedule_action', 'POST', {
22
+ name,
23
+ steps,
24
+ maxFail,
25
+ maxPass,
26
+ times,
27
+ intervalMs,
28
+ maxHistoryItems,
29
+ });
16
30
  }
17
31
  /**
18
32
  * @see https://github.com/appium/appium-uiautomator2-driver/blob/master/docs/scheduled-actions.md#mobile-getactionhistory
19
33
  * @this {AndroidUiautomator2Driver}
20
- * @param {import('./types').ActionArgs} [opts={}]
34
+ * @param {string} name
21
35
  * @returns {Promise<import('./types').ActionResult>}
22
36
  */
23
- async function mobileGetActionHistory(opts) {
24
- return /** @type {import('./types').ActionResult} */ (await this.uiautomator2.jwproxy.command('/appium/action_history', 'POST', opts ?? {}));
37
+ async function mobileGetActionHistory(name) {
38
+ return /** @type {import('./types').ActionResult} */ (await this.uiautomator2.jwproxy.command('/appium/action_history', 'POST', { name }));
25
39
  }
26
40
  /**
27
41
  * @this {AndroidUiautomator2Driver}
28
42
  * @see https://github.com/appium/appium-uiautomator2-driver/blob/master/docs/scheduled-actions.md#mobile-unscheduleaction
29
- * @param {import('./types').ActionArgs} [opts={}]
43
+ * @param {string} name
30
44
  * @returns {Promise<any>}
31
45
  */
32
- async function mobileUnscheduleAction(opts) {
33
- return await this.uiautomator2.jwproxy.command('/appium/unschedule_action', 'POST', opts ?? {});
46
+ async function mobileUnscheduleAction(name) {
47
+ return await this.uiautomator2.jwproxy.command('/appium/unschedule_action', 'POST', { name });
34
48
  }
35
49
  /**
36
50
  * @this {AndroidUiautomator2Driver}
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../lib/commands/actions.js"],"names":[],"mappings":";;AAMA,oDAMC;AAQD,wDAQC;AAQD,wDAMC;AAOD,wCAuBC;AAMD,wCAEC;AAhFD;;;;;GAKG;AACI,KAAK,UAAU,oBAAoB,CAAC,IAAI,GAAG,EAAE;IAClD,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAC5C,yBAAyB,EACzB,MAAM,EACN,IAAI,CACL,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,sBAAsB,CAAC,IAAI;IAC/C,OAAO,6CAA6C,CAAC,CACnD,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CACrC,wBAAwB,EACxB,MAAM,EACN,IAAI,IAAI,EAAE,CACX,CACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,sBAAsB,CAAC,IAAI;IAC/C,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAC5C,2BAA2B,EAC3B,MAAM,EACN,IAAI,IAAI,EAAE,CACX,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,cAAc,CAAC,OAAO;IAC1C,+EAA+E;IAC/E,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACjD,MAAM,CAAC,MAAM,CACX,EAAE,EACF,MAAM,EACN,MAAM,CAAC,IAAI,KAAK,SAAS;QACvB,CAAC,CAAC;YACE,UAAU,EAAE;gBACV,WAAW,EAAE,OAAO;aACrB;SACF;QACH,CAAC,CAAC,EAAE,CACP,CACF,CAAC;IACF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3F,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CACrC,UAAU,EACV,MAAM,EACN;QACE,OAAO,EAAE,mBAAmB;KAC7B,CACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,cAAc;IAClC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;AAC/D,CAAC;AAED;;GAEG"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../lib/commands/actions.js"],"names":[],"mappings":";;AAYA,oDAsBC;AAQD,wDAQC;AAQD,wDAMC;AAOD,wCAuBC;AAMD,wCAEC;AAtGD;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,oBAAoB,CACxC,IAAI,EACJ,KAAK,EACL,OAAO,EACP,OAAO,EACP,KAAK,EACL,UAAU,EACV,eAAe;IAEf,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAC5C,yBAAyB,EACzB,MAAM,EACN;QACE,IAAI;QACJ,KAAK;QACL,OAAO;QACP,OAAO;QACP,KAAK;QACL,UAAU;QACV,eAAe;KAChB,CACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,sBAAsB,CAAC,IAAI;IAC/C,OAAO,6CAA6C,CAAC,CACnD,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CACrC,wBAAwB,EACxB,MAAM,EACN,EAAC,IAAI,EAAC,CACP,CACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,sBAAsB,CAAC,IAAI;IAC/C,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAC5C,2BAA2B,EAC3B,MAAM,EACN,EAAC,IAAI,EAAC,CACP,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,cAAc,CAAC,OAAO;IAC1C,+EAA+E;IAC/E,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACjD,MAAM,CAAC,MAAM,CACX,EAAE,EACF,MAAM,EACN,MAAM,CAAC,IAAI,KAAK,SAAS;QACvB,CAAC,CAAC;YACE,UAAU,EAAE;gBACV,WAAW,EAAE,OAAO;aACrB;SACF;QACH,CAAC,CAAC,EAAE,CACP,CACF,CAAC;IACF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3F,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CACrC,UAAU,EACV,MAAM,EACN;QACE,OAAO,EAAE,mBAAmB;KAC7B,CACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,cAAc;IAClC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;AAC/D,CAAC;AAED;;GAEG"}
@@ -5,10 +5,12 @@
5
5
  export function getAlertText(this: import("../driver").AndroidUiautomator2Driver): Promise<string>;
6
6
  /**
7
7
  * @this {AndroidUiautomator2Driver}
8
- * @param {import('./types').AcceptAlertOptions} [opts={}]
8
+ * @param {string} [buttonLabel] The name of the button to click in order to accept the alert.
9
+ * If the name is not provided
10
+ * then the script will try to detect the button automatically.
9
11
  * @returns {Promise<void>}
10
12
  */
11
- export function mobileAcceptAlert(this: import("../driver").AndroidUiautomator2Driver, opts?: import("./types").AcceptAlertOptions): Promise<void>;
13
+ export function mobileAcceptAlert(this: import("../driver").AndroidUiautomator2Driver, buttonLabel?: string): Promise<void>;
12
14
  /**
13
15
  * @this {AndroidUiautomator2Driver}
14
16
  * @returns {Promise<void>}
@@ -16,10 +18,12 @@ export function mobileAcceptAlert(this: import("../driver").AndroidUiautomator2D
16
18
  export function postAcceptAlert(this: import("../driver").AndroidUiautomator2Driver): Promise<void>;
17
19
  /**
18
20
  * @this {AndroidUiautomator2Driver}
19
- * @param {import('./types').DismissAlertOptions} [opts={}]
21
+ * @param {string} [buttonLabel] The name of the button to click in order to dismiss the alert.
22
+ * If the name is not provided
23
+ * then the script will try to detect the button automatically.
20
24
  * @returns {Promise<void>}
21
25
  */
22
- export function mobileDismissAlert(this: import("../driver").AndroidUiautomator2Driver, opts?: import("./types").DismissAlertOptions): Promise<void>;
26
+ export function mobileDismissAlert(this: import("../driver").AndroidUiautomator2Driver, buttonLabel?: string): Promise<void>;
23
27
  /**
24
28
  * @this {AndroidUiautomator2Driver}
25
29
  * @returns {Promise<void>}
@@ -1 +1 @@
1
- {"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../../lib/commands/alert.js"],"names":[],"mappings":"AAAA;;;GAGG;AACH,mFAFa,OAAO,CAAC,MAAM,CAAC,CAU3B;AAED;;;;GAIG;AACH,8FAHW,OAAO,SAAS,EAAE,kBAAkB,GAClC,OAAO,CAAC,IAAI,CAAC,CAQzB;AAED;;;GAGG;AACH,sFAFa,OAAO,CAAC,IAAI,CAAC,CAIzB;AAED;;;;GAIG;AACH,+FAHW,OAAO,SAAS,EAAE,mBAAmB,GACnC,OAAO,CAAC,IAAI,CAAC,CAQzB;AAED;;;GAGG;AACH,uFAFa,OAAO,CAAC,IAAI,CAAC,CAIzB;wCAGY,OAAO,WAAW,EAAE,yBAAyB"}
1
+ {"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../../lib/commands/alert.js"],"names":[],"mappings":"AAAA;;;GAGG;AACH,mFAFa,OAAO,CAAC,MAAM,CAAC,CAU3B;AAED;;;;;;GAMG;AACH,qGALW,MAAM,GAGJ,OAAO,CAAC,IAAI,CAAC,CAQzB;AAED;;;GAGG;AACH,sFAFa,OAAO,CAAC,IAAI,CAAC,CAIzB;AAED;;;;;;GAMG;AACH,sGALW,MAAM,GAGJ,OAAO,CAAC,IAAI,CAAC,CAQzB;AAED;;;GAGG;AACH,uFAFa,OAAO,CAAC,IAAI,CAAC,CAIzB;wCAGY,OAAO,WAAW,EAAE,yBAAyB"}
@@ -14,11 +14,13 @@ async function getAlertText() {
14
14
  }
15
15
  /**
16
16
  * @this {AndroidUiautomator2Driver}
17
- * @param {import('./types').AcceptAlertOptions} [opts={}]
17
+ * @param {string} [buttonLabel] The name of the button to click in order to accept the alert.
18
+ * If the name is not provided
19
+ * then the script will try to detect the button automatically.
18
20
  * @returns {Promise<void>}
19
21
  */
20
- async function mobileAcceptAlert(opts = {}) {
21
- await this.uiautomator2.jwproxy.command('/alert/accept', 'POST', opts);
22
+ async function mobileAcceptAlert(buttonLabel) {
23
+ await this.uiautomator2.jwproxy.command('/alert/accept', 'POST', { buttonLabel });
22
24
  }
23
25
  /**
24
26
  * @this {AndroidUiautomator2Driver}
@@ -29,11 +31,13 @@ async function postAcceptAlert() {
29
31
  }
30
32
  /**
31
33
  * @this {AndroidUiautomator2Driver}
32
- * @param {import('./types').DismissAlertOptions} [opts={}]
34
+ * @param {string} [buttonLabel] The name of the button to click in order to dismiss the alert.
35
+ * If the name is not provided
36
+ * then the script will try to detect the button automatically.
33
37
  * @returns {Promise<void>}
34
38
  */
35
- async function mobileDismissAlert(opts = {}) {
36
- await this.uiautomator2.jwproxy.command('/alert/dismiss', 'POST', opts);
39
+ async function mobileDismissAlert(buttonLabel) {
40
+ await this.uiautomator2.jwproxy.command('/alert/dismiss', 'POST', { buttonLabel });
37
41
  }
38
42
  /**
39
43
  * @this {AndroidUiautomator2Driver}
@@ -1 +1 @@
1
- {"version":3,"file":"alert.js","sourceRoot":"","sources":["../../../lib/commands/alert.js"],"names":[],"mappings":";;AAIA,oCAQC;AAOD,8CAMC;AAMD,0CAEC;AAOD,gDAMC;AAMD,4CAEC;AAtDD;;;GAGG;AACI,KAAK,UAAU,YAAY;IAChC,OAAO,MAAM,CACX,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CACrC,aAAa,EACb,KAAK,EACL,EAAE,CACH,CACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,iBAAiB,CAAC,IAAI,GAAG,EAAE;IAC/C,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CACrC,eAAe,EACf,MAAM,EACN,IAAI,CACL,CAAC;AACJ,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,eAAe;IACnC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;AACjC,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,kBAAkB,CAAC,IAAI,GAAG,EAAE;IAChD,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CACrC,gBAAgB,EAChB,MAAM,EACN,IAAI,CACL,CAAC;AACJ,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,gBAAgB;IACpC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAClC,CAAC;AAED;;GAEG"}
1
+ {"version":3,"file":"alert.js","sourceRoot":"","sources":["../../../lib/commands/alert.js"],"names":[],"mappings":";;AAIA,oCAQC;AASD,8CAMC;AAMD,0CAEC;AASD,gDAMC;AAMD,4CAEC;AA1DD;;;GAGG;AACI,KAAK,UAAU,YAAY;IAChC,OAAO,MAAM,CACX,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CACrC,aAAa,EACb,KAAK,EACL,EAAE,CACH,CACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,iBAAiB,CAAC,WAAW;IACjD,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CACrC,eAAe,EACf,MAAM,EACN,EAAC,WAAW,EAAC,CACd,CAAC;AACJ,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,eAAe;IACnC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;AACjC,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,kBAAkB,CAAC,WAAW;IAClD,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CACrC,gBAAgB,EAChB,MAAM,EACN,EAAC,WAAW,EAAC,CACd,CAAC;AACJ,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,gBAAgB;IACpC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAClC,CAAC;AAED;;GAEG"}
@@ -1,19 +1,23 @@
1
1
  /**
2
2
  * Install multiple APKs with `install-multiple` option.
3
- * @this {AndroidUiautomator2Driver}=
4
- * @param {import('./types').InstallMultipleApksOptions} opts
3
+ * @this {AndroidUiautomator2Driver}
4
+ * @param {string[]} apks The list of APKs to install. Each APK should be a path to a apk
5
+ * or downloadable URL as HTTP/HTTPS.
6
+ * @param {import('./types').InstallOptions} [options] Installation options.
5
7
  * @throws {Error} if an error occured while installing the given APKs.
6
8
  * @returns {Promise<void>}
7
9
  */
8
- export function mobileInstallMultipleApks(this: import("../driver").AndroidUiautomator2Driver, opts: import("./types").InstallMultipleApksOptions): Promise<void>;
10
+ export function mobileInstallMultipleApks(this: import("../driver").AndroidUiautomator2Driver, apks: string[], options?: import("./types").InstallOptions): Promise<void>;
9
11
  /**
10
- * Puts the app to background and waits the given number of seconds Then restores the app
12
+ * Puts the app to background and waits the given number of seconds then restores the app
11
13
  * if necessary. The call is blocking.
14
+ *
12
15
  * @this {AndroidUiautomator2Driver}
13
- * @param {import('./types').BackgroundAppOptions} [opts={}]
16
+ * @param {number} [seconds=-1] The amount of seconds to wait between putting the app to background and restoring it.
17
+ * Any negative value means to not restore the app after putting it to background.
14
18
  * @returns {Promise<void>}
15
19
  */
16
- export function mobileBackgroundApp(this: import("../driver").AndroidUiautomator2Driver, opts?: import("./types").BackgroundAppOptions): Promise<void>;
20
+ export function mobileBackgroundApp(this: import("../driver").AndroidUiautomator2Driver, seconds?: number): Promise<void>;
17
21
  export type AndroidUiautomator2Driver = import("../driver").AndroidUiautomator2Driver;
18
22
  export type StringRecord<T = any> = import("@appium/types").StringRecord<T>;
19
23
  //# sourceMappingURL=app-management.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-management.d.ts","sourceRoot":"","sources":["../../../lib/commands/app-management.js"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,qGAJW,OAAO,SAAS,EAAE,0BAA0B,GAE1C,OAAO,CAAC,IAAI,CAAC,CAUzB;AAED;;;;;;GAMG;AACH,gGAHW,OAAO,SAAS,EAAE,oBAAoB,GACpC,OAAO,CAAC,IAAI,CAAC,CAKzB;wCAGY,OAAO,WAAW,EAAE,yBAAyB;yBAI5C,CAAC,UACF,OAAO,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"app-management.d.ts","sourceRoot":"","sources":["../../../lib/commands/app-management.js"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AACH,qGANW,MAAM,EAAE,YAER,OAAO,SAAS,EAAE,cAAc,GAE9B,OAAO,CAAC,IAAI,CAAC,CAUzB;AAED;;;;;;;;GAQG;AACH,mGAJW,MAAM,GAEJ,OAAO,CAAC,IAAI,CAAC,CAIzB;wCAGY,OAAO,WAAW,EAAE,yBAAyB;yBAI5C,CAAC,UACF,OAAO,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC"}
@@ -11,27 +11,30 @@ const driver_1 = require("appium/driver");
11
11
  const extensions_1 = require("../extensions");
12
12
  /**
13
13
  * Install multiple APKs with `install-multiple` option.
14
- * @this {AndroidUiautomator2Driver}=
15
- * @param {import('./types').InstallMultipleApksOptions} opts
14
+ * @this {AndroidUiautomator2Driver}
15
+ * @param {string[]} apks The list of APKs to install. Each APK should be a path to a apk
16
+ * or downloadable URL as HTTP/HTTPS.
17
+ * @param {import('./types').InstallOptions} [options] Installation options.
16
18
  * @throws {Error} if an error occured while installing the given APKs.
17
19
  * @returns {Promise<void>}
18
20
  */
19
- async function mobileInstallMultipleApks(opts) {
20
- if (!lodash_1.default.isArray(opts.apks) || lodash_1.default.isEmpty(opts.apks)) {
21
+ async function mobileInstallMultipleApks(apks, options) {
22
+ if (!lodash_1.default.isArray(apks) || lodash_1.default.isEmpty(apks)) {
21
23
  throw new driver_1.errors.InvalidArgumentError('No apks are given to install');
22
24
  }
23
- const apks = await bluebird_1.default.all(opts.apks.map((app) => this.helpers.configureApp(app, [extensions_1.APK_EXTENSION])));
24
- await this.adb.installMultipleApks(apks, opts.options);
25
+ const configuredApks = await bluebird_1.default.all(apks.map((app) => this.helpers.configureApp(app, [extensions_1.APK_EXTENSION])));
26
+ await this.adb.installMultipleApks(configuredApks, options);
25
27
  }
26
28
  /**
27
- * Puts the app to background and waits the given number of seconds Then restores the app
29
+ * Puts the app to background and waits the given number of seconds then restores the app
28
30
  * if necessary. The call is blocking.
31
+ *
29
32
  * @this {AndroidUiautomator2Driver}
30
- * @param {import('./types').BackgroundAppOptions} [opts={}]
33
+ * @param {number} [seconds=-1] The amount of seconds to wait between putting the app to background and restoring it.
34
+ * Any negative value means to not restore the app after putting it to background.
31
35
  * @returns {Promise<void>}
32
36
  */
33
- async function mobileBackgroundApp(opts = {}) {
34
- const { seconds = -1 } = opts;
37
+ async function mobileBackgroundApp(seconds = -1) {
35
38
  await this.background(seconds);
36
39
  }
37
40
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"app-management.js","sourceRoot":"","sources":["../../../lib/commands/app-management.js"],"names":[],"mappings":";;;;;AAYA,8DAQC;AASD,kDAGC;AAhCD,oDAAuB;AACvB,wDAAyB;AACzB,0CAAqC;AACrC,8CAA4C;AAE5C;;;;;;GAMG;AACI,KAAK,UAAU,yBAAyB,CAAC,IAAI;IAClD,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,eAAM,CAAC,oBAAoB,CAAC,8BAA8B,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,kBAAC,CAAC,GAAG,CACtB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,0BAAa,CAAC,CAAC,CAAC,CACxE,CAAC;IACF,MAAM,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,mBAAmB,CAAC,IAAI,GAAG,EAAE;IACjD,MAAM,EAAC,OAAO,GAAG,CAAC,CAAC,EAAC,GAAG,IAAI,CAAC;IAC5B,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AAEH;;;GAGG"}
1
+ {"version":3,"file":"app-management.js","sourceRoot":"","sources":["../../../lib/commands/app-management.js"],"names":[],"mappings":";;;;;AAcA,8DAQC;AAWD,kDAEC;AAnCD,oDAAuB;AACvB,wDAAyB;AACzB,0CAAqC;AACrC,8CAA4C;AAE5C;;;;;;;;GAQG;AACI,KAAK,UAAU,yBAAyB,CAAC,IAAI,EAAE,OAAO;IAC3D,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,eAAM,CAAC,oBAAoB,CAAC,8BAA8B,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,cAAc,GAAG,MAAM,kBAAC,CAAC,GAAG,CAChC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,0BAAa,CAAC,CAAC,CAAC,CACnE,CAAC;IACF,MAAM,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,mBAAmB,CAAC,OAAO,GAAG,CAAC,CAAC;IACpD,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AAEH;;;GAGG"}
@@ -4,12 +4,6 @@
4
4
  * or an empty string if the clipboard is empty.
5
5
  */
6
6
  export function getClipboard(this: import("../driver").AndroidUiautomator2Driver): Promise<string>;
7
- /**
8
- * @this {AndroidUiautomator2Driver}
9
- * @returns {Promise<string>} Base64-encoded content of the clipboard
10
- * or an empty string if the clipboard is empty.
11
- */
12
- export function mobileGetClipboard(this: import("../driver").AndroidUiautomator2Driver): Promise<string>;
13
7
  /**
14
8
  * @this {AndroidUiautomator2Driver}
15
9
  * @param {string} content Base64-encoded clipboard payload
@@ -20,11 +14,5 @@ export function mobileGetClipboard(this: import("../driver").AndroidUiautomator2
20
14
  * @returns {Promise<void>}
21
15
  */
22
16
  export function setClipboard(this: import("../driver").AndroidUiautomator2Driver, content: string, contentType?: "plaintext", label?: string): Promise<void>;
23
- /**
24
- * @this {AndroidUiautomator2Driver}
25
- * @param {import('./types').SetClipboardOpts} opts
26
- * @returns {Promise<void>}
27
- */
28
- export function mobileSetClipboard(this: import("../driver").AndroidUiautomator2Driver, opts: import("./types").SetClipboardOpts): Promise<void>;
29
17
  export type AndroidUiautomator2Driver = import("../driver").AndroidUiautomator2Driver;
30
18
  //# sourceMappingURL=clipboard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"clipboard.d.ts","sourceRoot":"","sources":["../../../lib/commands/clipboard.js"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,mFAHa,OAAO,CAAC,MAAM,CAAC,CAa3B;AAED;;;;GAIG;AACH,yFAHa,OAAO,CAAC,MAAM,CAAC,CAK3B;AAED;;;;;;;;GAQG;AACH,2FAPW,MAAM,gBACN,WAAW,UAEX,MAAM,GAEJ,OAAO,CAAC,IAAI,CAAC,CAQzB;AAED;;;;GAIG;AACH,8FAHW,OAAO,SAAS,EAAE,gBAAgB,GAChC,OAAO,CAAC,IAAI,CAAC,CAIzB;wCAGY,OAAO,WAAW,EAAE,yBAAyB"}
1
+ {"version":3,"file":"clipboard.d.ts","sourceRoot":"","sources":["../../../lib/commands/clipboard.js"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,mFAHa,OAAO,CAAC,MAAM,CAAC,CAa3B;AAED;;;;;;;;GAQG;AACH,2FAPW,MAAM,gBACN,WAAW,UAEX,MAAM,GAEJ,OAAO,CAAC,IAAI,CAAC,CAQzB;wCAGY,OAAO,WAAW,EAAE,yBAAyB"}
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getClipboard = getClipboard;
4
- exports.mobileGetClipboard = mobileGetClipboard;
5
4
  exports.setClipboard = setClipboard;
6
- exports.mobileSetClipboard = mobileSetClipboard;
7
5
  /**
8
6
  * @this {AndroidUiautomator2Driver}
9
7
  * @returns {Promise<string>} Base64-encoded content of the clipboard
@@ -14,14 +12,6 @@ async function getClipboard() {
14
12
  ? await this.uiautomator2.jwproxy.command('/appium/device/get_clipboard', 'POST', {})
15
13
  : await this.settingsApp.getClipboard());
16
14
  }
17
- /**
18
- * @this {AndroidUiautomator2Driver}
19
- * @returns {Promise<string>} Base64-encoded content of the clipboard
20
- * or an empty string if the clipboard is empty.
21
- */
22
- async function mobileGetClipboard() {
23
- return await this.getClipboard();
24
- }
25
15
  /**
26
16
  * @this {AndroidUiautomator2Driver}
27
17
  * @param {string} content Base64-encoded clipboard payload
@@ -34,14 +24,6 @@ async function mobileGetClipboard() {
34
24
  async function setClipboard(content, contentType, label) {
35
25
  await this.uiautomator2.jwproxy.command('/appium/device/set_clipboard', 'POST', { content, contentType, label });
36
26
  }
37
- /**
38
- * @this {AndroidUiautomator2Driver}
39
- * @param {import('./types').SetClipboardOpts} opts
40
- * @returns {Promise<void>}
41
- */
42
- async function mobileSetClipboard(opts) {
43
- await this.setClipboard(opts.content, opts.contentType, opts.label);
44
- }
45
27
  /**
46
28
  * @typedef {import('../driver').AndroidUiautomator2Driver} AndroidUiautomator2Driver
47
29
  */
@@ -1 +1 @@
1
- {"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../../../lib/commands/clipboard.js"],"names":[],"mappings":";;AAKA,oCAUC;AAOD,gDAEC;AAWD,oCAMC;AAOD,gDAEC;AAlDD;;;;GAIG;AACI,KAAK,UAAU,YAAY;IAChC,OAAO,MAAM,CACX,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE;QACjC,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CACrC,8BAA8B,EAC9B,MAAM,EACN,EAAE,CACH;QACH,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAC1C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,kBAAkB;IACtC,OAAO,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;AACnC,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK;IAC5D,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CACrC,8BAA8B,EAC9B,MAAM,EACN,EAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAC,CAC9B,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,kBAAkB,CAAC,IAAI;IAC3C,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AACtE,CAAC;AAED;;GAEG"}
1
+ {"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../../../lib/commands/clipboard.js"],"names":[],"mappings":";;AAKA,oCAUC;AAWD,oCAMC;AAhCD;;;;GAIG;AACI,KAAK,UAAU,YAAY;IAChC,OAAO,MAAM,CACX,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE;QACjC,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CACrC,8BAA8B,EAC9B,MAAM,EACN,EAAE,CACH;QACH,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAC1C,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK;IAC5D,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CACrC,8BAA8B,EAC9B,MAAM,EACN,EAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAC,CAC9B,CAAC;AACJ,CAAC;AAED;;GAEG"}
@@ -92,10 +92,11 @@ export function getElementRect(this: import("../driver").AndroidUiautomator2Driv
92
92
  /**
93
93
  * Sends text to the given element by replacing its previous content
94
94
  * @this {AndroidUiautomator2Driver}
95
- * @param {import('./types').ReplaceValueOptions} opts
95
+ * @param {string} elementId The id of the element whose content will be replaced.
96
+ * @param {string} text The actual text to set.
96
97
  * @throws {Error} If there was a faulre while setting the text
97
98
  * @returns {Promise<void>}
98
99
  */
99
- export function mobileReplaceElementValue(this: import("../driver").AndroidUiautomator2Driver, opts: import("./types").ReplaceValueOptions): Promise<void>;
100
+ export function mobileReplaceElementValue(this: import("../driver").AndroidUiautomator2Driver, elementId: string, text: string): Promise<void>;
100
101
  export type AndroidUiautomator2Driver = import("../driver").AndroidUiautomator2Driver;
101
102
  //# sourceMappingURL=element.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../../../lib/commands/element.js"],"names":[],"mappings":"AAKA;;;GAGG;AACH,6EAFa,OAAO,CAAC,OAAO,eAAe,EAAE,OAAO,CAAC,CASpD;AAED;;;;;GAKG;AACH,6FAJW,MAAM,aACN,MAAM,GACJ,OAAO,CAAC,MAAM,OAAC,CAAC,CAU5B;AAED;;;;GAIG;AACH,iGAHW,MAAM,GACJ,OAAO,CAAC,OAAO,CAAC,CAI5B;AAED;;;;GAIG;AACH,+FAHW,MAAM,GACJ,OAAO,CAAC,OAAO,CAAC,CAI5B;AAED;;;;GAIG;AACH,gGAHW,MAAM,GACJ,OAAO,CAAC,OAAO,CAAC,CAI5B;AAED;;;;GAIG;AACH,wFAHW,MAAM,GACJ,OAAO,CAAC,MAAM,CAAC,CAU3B;AAED;;;;GAIG;AACH,4FAHW,MAAM,GACJ,OAAO,CAAC,OAAO,eAAe,EAAE,QAAQ,CAAC,CAUrD;AAED;;;;GAIG;AACH,wFAHW,MAAM,GACJ,OAAO,CAAC,OAAO,eAAe,EAAE,IAAI,CAAC,CAUjD;AAED;;;;GAIG;AACH,+FAHW,OAAO,uBAAuB,EAAE,qBAAqB,GACnD,OAAO,CAAC,IAAI,CAAC,CAQzB;AAED;;;;;GAKG;AACH,6FAJW,MAAM,GAAC,MAAM,EAAE,aACf,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAYzB;AAED;;;;GAIG;AACH,wFAHW,MAAM,GACJ,OAAO,CAAC,MAAM,CAAC,CAU3B;AAED;;;;GAIG;AACH,oFAHW,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAQzB;AAED;;;;GAIG;AACH,mGAHW,MAAM,GACJ,OAAO,CAAC,MAAM,CAAC,CAU3B;AAED;;;;GAIG;AACH,sFAHW,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAUzB;AAED;;;;GAIG;AACH,+FAHW,MAAM,GACJ,OAAO,CAAC,OAAO,eAAe,EAAE,IAAI,CAAC,CA4BjD;AAED;;;;;;GAMG;AACH,qGAJW,OAAO,SAAS,EAAE,mBAAmB,GAEnC,OAAO,CAAC,IAAI,CAAC,CAYzB;wCAeY,OAAO,WAAW,EAAE,yBAAyB"}
1
+ {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../../../lib/commands/element.js"],"names":[],"mappings":"AAIA;;;GAGG;AACH,6EAFa,OAAO,CAAC,OAAO,eAAe,EAAE,OAAO,CAAC,CASpD;AAED;;;;;GAKG;AACH,6FAJW,MAAM,aACN,MAAM,GACJ,OAAO,CAAC,MAAM,OAAC,CAAC,CAU5B;AAED;;;;GAIG;AACH,iGAHW,MAAM,GACJ,OAAO,CAAC,OAAO,CAAC,CAI5B;AAED;;;;GAIG;AACH,+FAHW,MAAM,GACJ,OAAO,CAAC,OAAO,CAAC,CAI5B;AAED;;;;GAIG;AACH,gGAHW,MAAM,GACJ,OAAO,CAAC,OAAO,CAAC,CAI5B;AAED;;;;GAIG;AACH,wFAHW,MAAM,GACJ,OAAO,CAAC,MAAM,CAAC,CAU3B;AAED;;;;GAIG;AACH,4FAHW,MAAM,GACJ,OAAO,CAAC,OAAO,eAAe,EAAE,QAAQ,CAAC,CAUrD;AAED;;;;GAIG;AACH,wFAHW,MAAM,GACJ,OAAO,CAAC,OAAO,eAAe,EAAE,IAAI,CAAC,CAUjD;AAED;;;;GAIG;AACH,+FAHW,OAAO,uBAAuB,EAAE,qBAAqB,GACnD,OAAO,CAAC,IAAI,CAAC,CAQzB;AAED;;;;;GAKG;AACH,6FAJW,MAAM,GAAC,MAAM,EAAE,aACf,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAYzB;AAED;;;;GAIG;AACH,wFAHW,MAAM,GACJ,OAAO,CAAC,MAAM,CAAC,CAU3B;AAED;;;;GAIG;AACH,oFAHW,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAQzB;AAED;;;;GAIG;AACH,mGAHW,MAAM,GACJ,OAAO,CAAC,MAAM,CAAC,CAU3B;AAED;;;;GAIG;AACH,sFAHW,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAUzB;AAED;;;;GAIG;AACH,+FAHW,MAAM,GACJ,OAAO,CAAC,OAAO,eAAe,EAAE,IAAI,CAAC,CA4BjD;AAED;;;;;;;GAOG;AACH,0GALW,MAAM,QACN,MAAM,GAEJ,OAAO,CAAC,IAAI,CAAC,CAWzB;wCAeY,OAAO,WAAW,EAAE,yBAAyB"}
@@ -22,7 +22,6 @@ exports.mobileReplaceElementValue = mobileReplaceElementValue;
22
22
  const bluebird_1 = __importDefault(require("bluebird"));
23
23
  const lodash_1 = __importDefault(require("lodash"));
24
24
  const driver_1 = require("appium/driver");
25
- const appium_android_driver_1 = require("appium-android-driver");
26
25
  /**
27
26
  * @this {AndroidUiautomator2Driver}
28
27
  * @returns {Promise<import('@appium/types').Element>}
@@ -166,12 +165,12 @@ async function getElementRect(elementId) {
166
165
  /**
167
166
  * Sends text to the given element by replacing its previous content
168
167
  * @this {AndroidUiautomator2Driver}
169
- * @param {import('./types').ReplaceValueOptions} opts
168
+ * @param {string} elementId The id of the element whose content will be replaced.
169
+ * @param {string} text The actual text to set.
170
170
  * @throws {Error} If there was a faulre while setting the text
171
171
  * @returns {Promise<void>}
172
172
  */
173
- async function mobileReplaceElementValue(opts) {
174
- const { elementId, text } = appium_android_driver_1.utils.requireArgs(['elementId', 'text'], opts);
173
+ async function mobileReplaceElementValue(elementId, text) {
175
174
  await this.uiautomator2.jwproxy.command(`/element/${elementId}/value`, 'POST', {
176
175
  text,
177
176
  replace: true,
@@ -1 +1 @@
1
- {"version":3,"file":"element.js","sourceRoot":"","sources":["../../../lib/commands/element.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"element.js","sourceRoot":"","sources":["../../../lib/commands/element.js"],"names":[],"mappings":";;;;;AAQA,wBAOC;AAQD,oCAQC;AAOD,4CAEC;AAOD,wCAEC;AAOD,0CAEC;AAOD,0BAQC;AAOD,kCAQC;AAOD,0BAQC;AAOD,8CAMC;AAQD,8CAUC;AAOD,0BAQC;AAOD,sBAMC;AAOD,oDAQC;AAOD,sBAQC;AAOD,wCA0BC;AAUD,8DASC;AApPD,wDAAyB;AACzB,oDAAuB;AACvB,0CAAwC;AAExC;;;GAGG;AACI,KAAK,UAAU,MAAM;IAC1B,OAAO,8CAA8C,CAAC,CACpD,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CACrC,iBAAiB,EACjB,KAAK,CACN,CACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,YAAY,CAAC,SAAS,EAAE,SAAS;IACrD,OAAO,MAAM,CACX,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CACrC,YAAY,SAAS,cAAc,SAAS,EAAE,EAC9C,KAAK,EACL,EAAE,CACH,CACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,gBAAgB,CAAC,SAAS;IAC9C,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;AACjE,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,cAAc,CAAC,SAAS;IAC5C,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,eAAe,CAAC,SAAS;IAC7C,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,OAAO,CAAC,SAAS;IACrC,OAAO,qBAAqB,CAAC,CAC3B,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CACrC,YAAY,SAAS,OAAO,EAC5B,KAAK,EACL,EAAE,CACH,CACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,WAAW,CAAC,SAAS;IACzC,OAAO,+CAA+C,CAAC,CACrD,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CACrC,YAAY,SAAS,WAAW,EAChC,KAAK,EACL,EAAE,CACH,CACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,OAAO,CAAC,SAAS;IACrC,OAAO,2CAA2C,CAAC,CACjD,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CACrC,YAAY,SAAS,OAAO,EAC5B,KAAK,EACL,EAAE,CACH,CACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,iBAAiB,CAAC,MAAM;IAC5C,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CACrC,YAAY,MAAM,CAAC,SAAS,QAAQ,EACpC,MAAM,EACN,MAAM,CACP,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,iBAAiB,CAAC,IAAI,EAAE,SAAS;IACrD,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CACrC,YAAY,SAAS,QAAQ,EAC7B,MAAM,EACN;QACE,SAAS;QACT,IAAI,EAAE,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;QAC5C,OAAO,EAAE,KAAK;KACf,CACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,OAAO,CAAC,SAAS;IACrC,OAAO,MAAM,CACX,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CACrC,YAAY,SAAS,OAAO,EAC5B,KAAK,EACL,EAAE,CACH,CACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,KAAK,CAAC,OAAO;IACjC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CACrC,YAAY,OAAO,QAAQ,EAC3B,MAAM,EACN,EAAC,OAAO,EAAC,CACV,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,oBAAoB,CAAC,OAAO;IAChD,OAAO,MAAM,CACX,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CACrC,YAAY,OAAO,aAAa,EAChC,KAAK,EACL,EAAE,CACH,CACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,KAAK,CAAC,SAAS;IACnC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CACrC,YAAY,SAAS,QAAQ,EAC7B,MAAM,EACN;QACE,SAAS;KACV,CACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,cAAc,CAAC,SAAS;IAC5C,MAAM,YAAY,GAAG,oDAAoD,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9F,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,8CAA8C,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,CACxF,CAAC;QACF,IAAI,YAAY,CAAC,OAAO,CAAC,kBAAkB,KAAK,kBAAS,CAAC,OAAO,EAAE,CAAC;YAClE,MAAM,CAAC,EAAC,CAAC,EAAE,CAAC,EAAC,EAAE,EAAC,KAAK,EAAE,MAAM,EAAC,CAAC;YAC7B,+EAA+E,CAAC,CAC9E,MAAM,kBAAC,CAAC,GAAG,CAAC;gBACV,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,SAAS,WAAW,EAAE,KAAK,CAAC;gBACrE,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,SAAS,OAAO,EAAE,KAAK,CAAC;aAClE,CAAC,CACH,CAAC;YACJ,OAAO,EAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAC,CAAC;QAC/B,CAAC;QACD,OAAO,2CAA2C,CAAC,CACjD,MAAM,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,SAAS,OAAO,EAAE,KAAK,CAAC,CACxE,CAAC;IACJ,CAAC;IACD,OAAO,2CAA2C,CAAC,CACjD,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CACrC,YAAY,SAAS,OAAO,EAC5B,KAAK,CACN,CACF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,yBAAyB,CAAC,SAAS,EAAE,IAAI;IAC7D,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CACrC,YAAY,SAAS,QAAQ,EAC7B,MAAM,EACN;QACE,IAAI;QACJ,OAAO,EAAE,IAAI;KACd,CACF,CAAC;AACJ,CAAC;AAED,2BAA2B;AAE3B;;;GAGG;AACH,SAAS,MAAM,CAAC,CAAC;IACf,OAAO,gBAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,aAAa;AAEb;;GAEG"}