appium-uiautomator2-driver 3.3.0 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## [3.5.0](https://github.com/appium/appium-uiautomator2-driver/compare/v3.4.0...v3.5.0) (2024-05-12)
2
+
3
+
4
+ ### Features
5
+
6
+ * Align the implementation of execute method map with other android drivers ([#780](https://github.com/appium/appium-uiautomator2-driver/issues/780)) ([d376a9b](https://github.com/appium/appium-uiautomator2-driver/commit/d376a9b344c2138fe89403640733dd489e965606))
7
+
8
+ ## [3.4.0](https://github.com/appium/appium-uiautomator2-driver/compare/v3.3.0...v3.4.0) (2024-05-11)
9
+
10
+
11
+ ### Features
12
+
13
+ * Add helpers to control bluetooth and nfc adapters ([#779](https://github.com/appium/appium-uiautomator2-driver/issues/779)) ([a9403ff](https://github.com/appium/appium-uiautomator2-driver/commit/a9403ffcd58560be6af0f8c80b302cf750789a98))
14
+
1
15
  ## [3.3.0](https://github.com/appium/appium-uiautomator2-driver/compare/v3.2.0...v3.3.0) (2024-05-09)
2
16
 
3
17
 
package/README.md CHANGED
@@ -1503,6 +1503,30 @@ Name | Type | Required | Description | Example
1503
1503
  --- | --- | --- | --- | ---
1504
1504
  payload | string | yes | A valid base64-encoded .PNG image payload. Other image formats are not supported. This image will be shown on the virtual scene foreground as soon as you open a camera client app. | iVBORw0KGgoAAAANSUh...
1505
1505
 
1506
+ ### mobile: bluetooth
1507
+
1508
+ Allows to control the bluetooth adapter in the device under test.
1509
+ An error is thrown if the device has no default bluetooth adapter.
1510
+ Available since driver version 3.4.0
1511
+
1512
+ #### Arguments
1513
+
1514
+ Name | Type | Required | Description | Example
1515
+ --- | --- | --- | --- | ---
1516
+ action | string | yes | The action to execute on the bluetooth adapter. The following actions are supported: `enable`, `disable`, `unpairAll`. Calling the same action more than once is a noop. | disable
1517
+
1518
+ ### mobile: nfc
1519
+
1520
+ Allows to control the NFC adapter in the device under test.
1521
+ An error is thrown if the device has no default NFC adapter.
1522
+ Available since driver version 3.4.0
1523
+
1524
+ #### Arguments
1525
+
1526
+ Name | Type | Required | Description | Example
1527
+ --- | --- | --- | --- | ---
1528
+ action | string | yes | The action to execute on the NFC adapter. The following actions are supported: `enable`, `disable`. Calling the same action more than once is a noop. | disable
1529
+
1506
1530
  ## Applications Management
1507
1531
 
1508
1532
  UiAutomator2 driver supports Appium endpoints for applications management:
@@ -1,25 +1,15 @@
1
1
  /**
2
- * @override
3
- * @privateRemarks Because the "mobile" commands (execute methods) in this
4
- * driver universally accept an options object, this method will _not_ call
5
- * into `BaseDriver.executeMethod`.
6
2
  * @this {AndroidUiautomator2Driver}
7
- * @param {string} script
8
- * @param {any[]} [args]
9
- * @returns {Promise<any>}
3
+ * @returns {import('@appium/types').StringRecord<string>}
10
4
  */
11
- export function execute(this: AndroidUiautomator2Driver, script: string, args?: any[] | undefined): Promise<any>;
5
+ export function mobileCommandsMapping(this: import("../driver").AndroidUiautomator2Driver): import('@appium/types').StringRecord<string>;
12
6
  /**
13
7
  * @override
14
8
  * @this {AndroidUiautomator2Driver}
15
- * @param {string} script Must be of the form `mobile: <something>`, which
16
- * differs from its parent class implementation.
9
+ * @param {string} mobileCommand
17
10
  * @param {import('@appium/types').StringRecord} [opts={}]
18
11
  * @returns {Promise<any>}
19
12
  */
20
- export function executeMobile(this: AndroidUiautomator2Driver, script: string, opts?: import("@appium/types").StringRecord<any> | undefined): Promise<any>;
21
- export type UiAutomator2Server = import('../uiautomator2').UiAutomator2Server;
22
- export type ADB = import('appium-adb').ADB;
23
- export type StringRecord<T = any> = import('@appium/types').StringRecord<T>;
24
- import { AndroidUiautomator2Driver } from '../driver';
13
+ export function executeMobile(this: import("../driver").AndroidUiautomator2Driver, mobileCommand: string, opts?: import("@appium/types").StringRecord<any> | undefined): Promise<any>;
14
+ export type AndroidUiautomator2Driver = import('../driver').AndroidUiautomator2Driver;
25
15
  //# sourceMappingURL=execute.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../../lib/commands/execute.js"],"names":[],"mappings":"AAMA;;;;;;;;;GASG;AACH,iEAJW,MAAM,6BAEJ,QAAQ,GAAG,CAAC,CAyBxB;AAED;;;;;;;GAOG;AACH,uEALW,MAAM,iEAGJ,QAAQ,GAAG,CAAC,CAmBxB;iCA8CY,OAAO,iBAAiB,EAAE,kBAAkB;kBAC5C,OAAO,YAAY,EAAE,GAAG;oCAKxB,OAAO,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;0CApHZ,WAAW"}
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../../lib/commands/execute.js"],"names":[],"mappings":"AAGA;;;GAGG;AACH,4FAFa,OAAO,eAAe,EAAE,YAAY,CAAC,MAAM,CAAC,CA8CxD;AAED;;;;;;GAMG;AACH,kGAJW,MAAM,iEAEJ,QAAQ,GAAG,CAAC,CAIxB;wCAyBY,OAAO,WAAW,EAAE,yBAAyB"}
@@ -3,107 +3,79 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.executeMobile = exports.execute = void 0;
6
+ exports.executeMobile = exports.mobileCommandsMapping = void 0;
7
7
  const lodash_1 = __importDefault(require("lodash"));
8
- const driver_1 = require("appium/driver");
9
- const driver_2 = require("../driver");
10
- const MOBILE_SCRIPT_NAME_PREFIX = 'mobile:';
8
+ const appium_android_driver_1 = require("appium-android-driver");
11
9
  /**
12
- * @override
13
- * @privateRemarks Because the "mobile" commands (execute methods) in this
14
- * driver universally accept an options object, this method will _not_ call
15
- * into `BaseDriver.executeMethod`.
16
10
  * @this {AndroidUiautomator2Driver}
17
- * @param {string} script
18
- * @param {any[]} [args]
19
- * @returns {Promise<any>}
11
+ * @returns {import('@appium/types').StringRecord<string>}
20
12
  */
21
- async function execute(script, args) {
22
- const mobileScriptName = toExecuteMethodName(script);
23
- const isWebContext = this.isWebContext();
24
- if (mobileScriptName && isWebContext || !isWebContext) {
25
- if (mobileScriptName) {
26
- const executeMethodArgs = preprocessExecuteMethodArgs(args);
27
- this.log.info(`Executing method '${mobileScriptName}'`);
28
- return await this.executeMobile(mobileScriptName, executeMethodArgs);
29
- }
30
- // Just pass the script name through and let it fail with a proper error message
31
- return await this.executeMobile(`${script}`, {});
32
- }
33
- const endpoint =
34
- /** @type {import('appium-chromedriver').Chromedriver} */ (this.chromedriver).jwproxy
35
- .downstreamProtocol === driver_1.PROTOCOLS.MJSONWP
36
- ? '/execute'
37
- : '/execute/sync';
38
- return await /** @type {import('appium-chromedriver').Chromedriver} */ (this.chromedriver).jwproxy.command(endpoint, 'POST', {
39
- script,
40
- args,
41
- });
13
+ function mobileCommandsMapping() {
14
+ const commonMapping = new appium_android_driver_1.AndroidDriver().mobileCommandsMapping.call(this);
15
+ return {
16
+ ...commonMapping,
17
+ dragGesture: 'mobileDragGesture',
18
+ flingGesture: 'mobileFlingGesture',
19
+ doubleClickGesture: 'mobileDoubleClickGesture',
20
+ clickGesture: 'mobileClickGesture',
21
+ longClickGesture: 'mobileLongClickGesture',
22
+ pinchCloseGesture: 'mobilePinchCloseGesture',
23
+ pinchOpenGesture: 'mobilePinchOpenGesture',
24
+ swipeGesture: 'mobileSwipeGesture',
25
+ scrollGesture: 'mobileScrollGesture',
26
+ scrollBackTo: 'mobileScrollBackTo',
27
+ scroll: 'mobileScroll',
28
+ viewportScreenshot: 'mobileViewportScreenshot',
29
+ viewportRect: 'mobileViewPortRect',
30
+ deepLink: 'mobileDeepLink',
31
+ acceptAlert: 'mobileAcceptAlert',
32
+ dismissAlert: 'mobileDismissAlert',
33
+ batteryInfo: 'mobileGetBatteryInfo',
34
+ deviceInfo: 'mobileGetDeviceInfo',
35
+ openNotifications: 'openNotifications',
36
+ type: 'mobileType',
37
+ replaceElementValue: 'mobileReplaceElementValue',
38
+ getAppStrings: 'mobileGetAppStrings',
39
+ installMultipleApks: 'mobileInstallMultipleApks',
40
+ pressKey: 'mobilePressKey',
41
+ screenshots: 'mobileScreenshots',
42
+ scheduleAction: 'mobileScheduleAction',
43
+ getActionHistory: 'mobileGetActionHistory',
44
+ unscheduleAction: 'mobileUnscheduleAction',
45
+ };
42
46
  }
43
- exports.execute = execute;
47
+ exports.mobileCommandsMapping = mobileCommandsMapping;
44
48
  /**
45
49
  * @override
46
50
  * @this {AndroidUiautomator2Driver}
47
- * @param {string} script Must be of the form `mobile: <something>`, which
48
- * differs from its parent class implementation.
51
+ * @param {string} mobileCommand
49
52
  * @param {import('@appium/types').StringRecord} [opts={}]
50
53
  * @returns {Promise<any>}
51
54
  */
52
- async function executeMobile(script, opts = {}) {
53
- if (!(script in driver_2.AndroidUiautomator2Driver.executeMethodMap)) {
54
- const commandNames = lodash_1.default.map(lodash_1.default.keys(driver_2.AndroidUiautomator2Driver.executeMethodMap), (value) => value.slice(8));
55
- throw new driver_1.errors.UnknownCommandError(`Unknown mobile command "${script}". ` +
56
- `Only ${commandNames.join(', ')} commands are supported.`);
57
- }
58
- const methodName = driver_2.AndroidUiautomator2Driver.executeMethodMap[
59
- /** @type {keyof import('../execute-method-map').Uiautomator2ExecuteMethodMap} */ (script)].command;
60
- return await /** @type {(opts?: any) => Promise<unknown>} */ (this[methodName])(opts);
55
+ async function executeMobile(mobileCommand, opts = {}) {
56
+ return await new appium_android_driver_1.AndroidDriver().executeMobile.call(this, mobileCommand, preprocessOptions(opts));
61
57
  }
62
58
  exports.executeMobile = executeMobile;
63
59
  // #region Internal Helpers
64
60
  /**
65
- * Messages the arguments going into an execute method.
66
- * @remarks A similar method is implemented in `appium-xcuitest-driver`, but it
67
- * appears the methods in here handle unwrapping of `Element` objects, so we do
68
- * not do that here.
69
- * @param {readonly any[] | readonly [StringRecord] | Readonly<StringRecord>} [args]
61
+ * Renames the deprecated `element` key to `elementId`. Historically,
62
+ * all of the pre-Execute-Method-Map execute methods accepted an `element` _or_ and `elementId` param.
63
+ * This assigns the `element` value to `elementId` if `elementId` is not already present.
64
+ *
65
+ * @param {import('@appium/types').StringRecord} [opts={}]
70
66
  * @internal
71
- * @returns {StringRecord<unknown>}
67
+ * @returns {import('@appium/types').StringRecord|undefined}
72
68
  */
73
- function preprocessExecuteMethodArgs(args) {
74
- if (lodash_1.default.isArray(args)) {
75
- args = lodash_1.default.first(args);
76
- }
77
- const executeMethodArgs = /** @type {StringRecord<unknown>} */ (args ?? {});
78
- /**
79
- * Renames the deprecated `element` key to `elementId`. Historically,
80
- * all of the pre-Execute-Method-Map execute methods accepted an `element` _or_ and `elementId` param.
81
- * This assigns the `element` value to `elementId` if `elementId` is not already present.
82
- */
83
- if (!('elementId' in executeMethodArgs) && 'element' in executeMethodArgs) {
84
- executeMethodArgs.elementId = executeMethodArgs.element;
85
- delete executeMethodArgs.element;
69
+ function preprocessOptions(opts = {}) {
70
+ if (lodash_1.default.isPlainObject(opts) && !('elementId' in opts) && 'element' in opts) {
71
+ opts.elementId = opts.element;
72
+ delete opts.element;
73
+ this.log.debug(`Replaced the obsolete 'element' key with 'elementId'`);
86
74
  }
87
- return executeMethodArgs;
88
- }
89
- /**
90
- * Type guard to check if a script is an execute method.
91
- * @param {any} script
92
- * @internal
93
- * @returns {string?}
94
- */
95
- function toExecuteMethodName(script) {
96
- return lodash_1.default.startsWith(script, MOBILE_SCRIPT_NAME_PREFIX)
97
- ? script.replace(new RegExp(`${MOBILE_SCRIPT_NAME_PREFIX}\\s*`), `${MOBILE_SCRIPT_NAME_PREFIX} `)
98
- : null;
75
+ return opts;
99
76
  }
100
77
  // #endregion
101
78
  /**
102
- * @typedef {import('../uiautomator2').UiAutomator2Server} UiAutomator2Server
103
- * @typedef {import('appium-adb').ADB} ADB
104
- */
105
- /**
106
- * @template [T=any]
107
- * @typedef {import('@appium/types').StringRecord<T>} StringRecord
79
+ * @typedef {import('../driver').AndroidUiautomator2Driver} AndroidUiautomator2Driver
108
80
  */
109
81
  //# sourceMappingURL=execute.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../lib/commands/execute.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../lib/commands/execute.js"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,iEAAoD;AAEpD;;;GAGG;AACH,SAAgB,qBAAqB;IACnC,MAAM,aAAa,GAAG,IAAI,qCAAa,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3E,OAAO;QACL,GAAG,aAAa;QAChB,WAAW,EAAE,mBAAmB;QAChC,YAAY,EAAE,oBAAoB;QAClC,kBAAkB,EAAE,0BAA0B;QAC9C,YAAY,EAAE,oBAAoB;QAClC,gBAAgB,EAAE,wBAAwB;QAC1C,iBAAiB,EAAE,yBAAyB;QAC5C,gBAAgB,EAAE,wBAAwB;QAC1C,YAAY,EAAE,oBAAoB;QAClC,aAAa,EAAE,qBAAqB;QACpC,YAAY,EAAE,oBAAoB;QAClC,MAAM,EAAE,cAAc;QACtB,kBAAkB,EAAE,0BAA0B;QAC9C,YAAY,EAAE,oBAAoB;QAElC,QAAQ,EAAE,gBAAgB;QAE1B,WAAW,EAAE,mBAAmB;QAChC,YAAY,EAAE,oBAAoB;QAElC,WAAW,EAAE,sBAAsB;QAEnC,UAAU,EAAE,qBAAqB;QAEjC,iBAAiB,EAAE,mBAAmB;QAEtC,IAAI,EAAE,YAAY;QAClB,mBAAmB,EAAE,2BAA2B;QAEhD,aAAa,EAAE,qBAAqB;QAEpC,mBAAmB,EAAE,2BAA2B;QAEhD,QAAQ,EAAE,gBAAgB;QAE1B,WAAW,EAAE,mBAAmB;QAEhC,cAAc,EAAE,sBAAsB;QACtC,gBAAgB,EAAE,wBAAwB;QAC1C,gBAAgB,EAAE,wBAAwB;KAC3C,CAAC;AACJ,CAAC;AA5CD,sDA4CC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,aAAa,CAAC,aAAa,EAAE,IAAI,GAAG,EAAE;IAC1D,OAAO,MAAM,IAAI,qCAAa,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;AACpG,CAAC;AAFD,sCAEC;AAED,2BAA2B;AAE3B;;;;;;;;GAQG;AACH,SAAS,iBAAiB,CAAC,IAAI,GAAG,EAAE;IAClC,IAAI,gBAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QACzE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC;QACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,aAAa;AAEb;;GAEG"}
@@ -1 +1 @@
1
- {"version":3,"file":"gestures.d.ts","sourceRoot":"","sources":["../../../lib/commands/gestures.js"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,4IAHa,QAAQ,IAAI,CAAC,CAazB;AAED;;;;;;;GAOG;AACH,oJAHa,QAAQ,IAAI,CAAC,CAczB;AAED;;;;;;GAMG;AACH,kJAHa,QAAQ,IAAI,CAAC,CAazB;AAED;;;;;;GAMG;AACH,6FAJW,OAAO,SAAS,EAAE,WAAW,GAC3B,QAAQ,IAAI,CAAC,CAezB;AAED;;;;;;;GAOG;AACH,8FAHW,OAAO,SAAS,EAAE,YAAY,GAC5B,QAAQ,OAAO,CAAC,CAgB5B;AAED;;;;;;GAMG;AACH,mGAJW,OAAO,SAAS,EAAE,YAAY,GAC5B,QAAQ,IAAI,CAAC,CAezB;AAED;;;;;;GAMG;AACH,kGAJW,OAAO,SAAS,EAAE,YAAY,GAC5B,QAAQ,IAAI,CAAC,CAezB;AAED;;;;;;GAMG;AACH,8FAJW,OAAO,SAAS,EAAE,YAAY,GAC5B,QAAQ,IAAI,CAAC,CAgBzB;AAED;;;;;;;GAOG;AACH,+FAHW,OAAO,SAAS,EAAE,oBAAoB,GACpC,QAAQ,OAAO,CAAC,CAiB5B;AAED;;;;;;;;;;;GAWG;AACH,8FAJW,OAAO,SAAS,EAAE,0BAA0B,GAC1C,QAAQ,IAAI,CAAC,CAiBzB;AAED;;;;;;;;;;;GAWG;AACH,wFAJW,OAAO,SAAS,EAAE,aAAa,GAC7B,QAAQ,IAAI,CAAC,CAwBzB;wCAwCY,OAAO,WAAW,EAAE,yBAAyB"}
1
+ {"version":3,"file":"gestures.d.ts","sourceRoot":"","sources":["../../../lib/commands/gestures.js"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,4IAHa,QAAQ,IAAI,CAAC,CAazB;AAED;;;;;;;GAOG;AACH,oJAHa,QAAQ,IAAI,CAAC,CAczB;AAED;;;;;;GAMG;AACH,kJAHa,QAAQ,IAAI,CAAC,CAazB;AAED;;;;;;GAMG;AACH,6FAJW,OAAO,SAAS,EAAE,WAAW,GAC3B,QAAQ,IAAI,CAAC,CAezB;AAED;;;;;;;GAOG;AACH,8FAHW,OAAO,SAAS,EAAE,YAAY,GAC5B,QAAQ,OAAO,CAAC,CAgB5B;AAED;;;;;;GAMG;AACH,mGAJW,OAAO,SAAS,EAAE,YAAY,GAC5B,QAAQ,IAAI,CAAC,CAezB;AAED;;;;;;GAMG;AACH,kGAJW,OAAO,SAAS,EAAE,YAAY,GAC5B,QAAQ,IAAI,CAAC,CAezB;AAED;;;;;;GAMG;AACH,8FAJW,OAAO,SAAS,EAAE,YAAY,GAC5B,QAAQ,IAAI,CAAC,CAgBzB;AAED;;;;;;;GAOG;AACH,+FAHW,OAAO,SAAS,EAAE,oBAAoB,GACpC,QAAQ,OAAO,CAAC,CAiB5B;AAED;;;;;;;;;;;GAWG;AACH,8FAJW,OAAO,SAAS,EAAE,0BAA0B,GAC1C,QAAQ,IAAI,CAAC,CAiBzB;AAED;;;;;;;;;;;GAWG;AACH,wFAJW,OAAO,SAAS,EAAE,aAAa,GAC7B,QAAQ,IAAI,CAAC,CAuBzB;wCAwCY,OAAO,WAAW,EAAE,yBAAyB"}
@@ -194,13 +194,12 @@ exports.mobileScrollBackTo = mobileScrollBackTo;
194
194
  * @throws {Error} if the scrolling operation cannot be performed
195
195
  */
196
196
  async function mobileScroll(opts) {
197
- const { element, elementId, // `element` is deprecated, use `elementId` instead
198
- strategy, selector, maxSwipes, } = opts;
197
+ const { elementId, strategy, selector, maxSwipes, } = opts;
199
198
  if (!strategy || !selector) {
200
199
  throw new driver_1.errors.InvalidArgumentError(`Both strategy and selector arguments must be provided`);
201
200
  }
202
201
  await this.uiautomator2.jwproxy.command('/gestures/scroll_to', 'POST', {
203
- origin: toOrigin(elementId || element),
202
+ origin: toOrigin(elementId),
204
203
  params: { strategy, selector, maxSwipes },
205
204
  });
206
205
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gestures.js","sourceRoot":"","sources":["../../../lib/commands/gestures.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gestures.js","sourceRoot":"","sources":["../../../lib/commands/gestures.js"],"names":[],"mappings":"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"}