appium-uiautomator2-driver 6.6.2 → 6.6.3

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,9 @@
1
+ ## [6.6.3](https://github.com/appium/appium-uiautomator2-driver/compare/v6.6.2...v6.6.3) (2025-12-08)
2
+
3
+ ### Miscellaneous Chores
4
+
5
+ * Ditch usage of @appium/test-support ([#954](https://github.com/appium/appium-uiautomator2-driver/issues/954)) ([9351cfc](https://github.com/appium/appium-uiautomator2-driver/commit/9351cfc9ef911155634abc06d28b497e182657c2))
6
+
1
7
  ## [6.6.2](https://github.com/appium/appium-uiautomator2-driver/compare/v6.6.1...v6.6.2) (2025-12-03)
2
8
 
3
9
  ### Bug Fixes
package/README.md CHANGED
@@ -258,6 +258,8 @@ className | This strategy is mapped to the native UiAutomator's `By.clazz` [loca
258
258
  -android uiautomator | This strategy is mapped to the native UiAutomator's `UiSelector` [locator](https://developer.android.com/reference/androidx/test/uiautomator/UiSelector)). It is even possible to perform some advanced operations, like scrolling, with this locator type. Check [Guide on UiAutomator Locator Types](docs/uiautomator-uiselector.md) | `⭐⭐⭐⭐` | new UiScrollable(new UiSelector().resourceId(\"android:id/list\")).scrollIntoView(new UiSelector().text(\"Radio Group\"))
259
259
  xpath | For elements lookup Xpath strategy the driver uses the same XML tree that is generated by page source API. Only Xpath 1.0 is supported for appium-uiatomator2-server versions below 4.25.0. All server versions starting from 4.25.0 support both Xpath 1.0 and 2.0 | `⭐⭐⭐` | By.xpath("//android.view.View[@text=\"Regular\" and @checkable=\"true\"]")
260
260
 
261
+ > [!NOTE] For testing multi-window applications, see the [Multi-Window Testing Guide](docs/android-multiwindow.md).
262
+
261
263
  > [!WARNING]
262
264
  > Google is going to [deprecate](https://developer.android.com/training/testing/other-components/ui-automator#ui-automator)
263
265
  > and remove `UiCollection`, `UiObject`, `UiScrollable`, and `UiSelector` support from the UiAutomator framework.
@@ -306,8 +308,8 @@ actionAcknowledgmentTimeout | long | Maximum number of milliseconds to wait for
306
308
  allowInvisibleElements | boolean | Whether to include elements that are not visible to the user (e. g. whose `displayed` attribute is `false`) to the XML source tree. `false` by default
307
309
  ignoreUnimportantViews | boolean | Enables or disables layout hierarchy compression. If compression is enabled, the layout hierarchy derived from the Acessibility framework will only contain nodes that are important for uiautomator testing. Any unnecessary surrounding layout nodes that make viewing and searching the hierarchy inefficient are removed. `false` by default
308
310
  elementResponseAttributes | string | Comma-separated list of element attribute names to be included into findElement response. By default only element UUID is present there, but it is also possible to add the following items: `name`, `text`, `rect`, `enabled`, `displayed`, `selected`, `attribute/<element_attribute_name>`. It is required that `shouldUseCompactResponses` setting is set to `false` in order for this one to apply.
309
- enableMultiWindows | boolean | Whether to include all windows that the user can interact with (for example an on-screen keyboard) while building the XML page source (`true`). By default it is `false` and only the single active application window is included to the page source.
310
- enableTopmostWindowFromActivePackage | boolean | Whether to limit the window with the highest Z-order from the active package for interactions and page source retrieval. By default it is `false` and the active application window, which may not necessarily have this order, is included to the page source.
311
+ enableMultiWindows | boolean | Whether to include all windows that the user can interact with (for example an on-screen keyboard) while building the XML page source (`true`). By default it is `false` and only the single active application window is included to the page source. See the [Multi-Window Testing Guide](docs/android-multiwindow.md) for detailed information.
312
+ enableTopmostWindowFromActivePackage | boolean | Whether to limit the window with the highest Z-order from the active package for interactions and page source retrieval. By default it is `false` and the active application window, which may not necessarily have this order, is included to the page source. See the [Multi-Window Testing Guide](docs/android-multiwindow.md) for detailed information.
311
313
  enableNotificationListener | boolean | Whether to enable (`true`) toast notifications listener to listen for new toast notifications. By default this listener is enabled and UiAutomator2 server includes the text of toast messages to the generated XML page source, but not for longer than `3500` ms after the corresponding notification expires.
312
314
  keyInjectionDelay | long | Delay in milliseconds between key presses when injecting text input. 0 ms by default
313
315
  scrollAcknowledgmentTimeout | long | Timeout for waiting for an acknowledgement of an uiautomator scroll swipe action. The acknowledgment is an [AccessibilityEvent](http://developer.android.com/reference/android/view/accessibility/AccessibilityEvent.html), corresponding to the scroll action, that lets the framework determine if the scroll action was successful. Generally, this timeout should not be modified. `200` ms by default
@@ -332,7 +334,8 @@ disableIdLocatorAutocompletion | boolean | According to internal Android standar
332
334
  includeExtrasInPageSource | boolean | Whether to include `extras` element attribute in the XML page source result. Then, XPath locator can find the element by the extras. Its value consists of combined [getExtras](https://developer.android.com/reference/android/view/accessibility/AccessibilityNodeInfo#getExtras()) as `keys=value` pair separated by a semicolon (`;`), thus you may need to find the element with partial matching like `contains` e.g. `driver.find_element :xpath, '//*[contains(@extras, "AccessibilityNodeInfo.roleDescription=")]'`. The value could be huge if elements in the XML page source have large `extras`. It could affect the performance of XML page source generation.
333
335
  includeA11yActionsInPageSource | boolean | Whether to include `actions` element attribute in the XML page source result. Its value consists of names of available accessibility actions from [getActionList](https://developer.android.com/reference/android/view/accessibility/AccessibilityNodeInfo#getActionList()), separated by a comma. The value could be huge if elements in the XML page source have a lot of actions and could affect the performance of XML page source generation.
334
336
  snapshotMaxDepth | int | The number of maximum depth for the source tree snapshot. The default value is `70`. This number should be in range [1, 500]. A part of the elements source tree might be lost if the value is too low. Also, StackOverflowError might be caused if the value is too high (Issues [12545](https://github.com/appium/appium/issues/12545), [12892](https://github.com/appium/appium/issues/12892)). The available driver version is `2.27.0` or higher.
335
- currentDisplayId | int | The id of the display that should be used when finding elements, taking screenshots, etc. It can be found in the output of `adb shell dumpsys display` (search for `mDisplayId`). The default value is [Display.DEFAULT_DISPLAY](https://developer.android.com/reference/android/view/Display#DEFAULT_DISPLAY). **Please note that it is different from the physical display id, reported by `adb shell dumpsys SurfaceFlinger --display-id`**. **Additionally, please note that `-android uiautomator` (e.g., `UiSelector`) doesn't work predictably with multiple displays, as this is an Android limitation.** **Multi-display support is only available since Android R (30 API level).**
337
+ currentDisplayId | int | The id of the display that should be used when finding elements, taking screenshots, etc. It can be found in the output of `adb shell dumpsys display` (search for `mDisplayId`). The default value is [Display.DEFAULT_DISPLAY](https://developer.android.com/reference/android/view/Display#DEFAULT_DISPLAY). See the [Multi-Window Testing Guide](docs/android-multiwindow.md) for detailed information about windows, displays, and how this setting affects element location. Set this setting to `-1`
338
+ in order to reset it.
336
339
  alwaysTraversableViewClasses | string | Allows to continue the tree traversal for user defined classes even though the node itself is invisible. The default logic for the UI tree traversal (controlled by the `allowInvisibleElements` setting) is to stop recursing when an invisible node is found. However, with certain Jetpack Compose classes (e.g. androidx.compose.ui.viewinterop.ViewFactoryHolder), it is possible that invisible parent nodes have visible child nodes. See [Google issue \#354958193](https://issuetracker.google.com/issues/354958193) and [UIA2 server issue \#709](https://github.com/appium/appium-uiautomator2-server/issues/709) for more details. This setting only affects the XPath lookup and the page source buildup. You can provide a comma separated list of glob patterns, that will be used as an exemption list: `androidx.compose.ui.viewinterop.*,android.widget.ImageButton`.
337
340
 
338
341
 
@@ -1667,21 +1670,23 @@ These extensions allow to deal with short-living UI elements. Read [the document
1667
1670
  Retrieves a screenshot of each display available to Android.
1668
1671
  This functionality is only supported since Android 10.
1669
1672
 
1670
- **Important:** This method uses **physical display IDs**, which are different from logical display IDs used by the `currentDisplayId` setting. Physical display IDs can be obtained from:
1671
- - The `physicalId` field returned by [`mobile: listDisplays`](#mobile-listdisplays) (recommended)
1672
- - The `physicalDisplayId` field returned by [`mobile: listWindows`](#mobile-listwindows)
1673
+ **Important:** This method uses **physical or virtual display IDs**, which are different from logical display IDs used by the `currentDisplayId` setting. Display IDs can be obtained from:
1674
+ - The `physicalId` or `virtualId` field returned by [`mobile: listDisplays`](#mobile-listdisplays) (recommended)
1675
+ - The `physicalDisplayId` or `virtualDisplayId` field returned by [`mobile: listWindows`](#mobile-listwindows)
1673
1676
  - The `adb shell dumpsys SurfaceFlinger --display-id` command output
1674
1677
 
1678
+ **Note:** For physical displays, use the `physicalId` from `mobile: listDisplays` or `physicalDisplayId` from `mobile: listWindows`. For virtual displays, use the `virtualId` from `mobile: listDisplays` or `virtualDisplayId` from `mobile: listWindows`.
1679
+
1675
1680
  #### Arguments
1676
1681
 
1677
1682
  Name | Type | Required | Description | Example
1678
1683
  --- | --- | --- | --- | ---
1679
- displayId | number or string | no | **Physical display identifier** to take a screenshot for. If not provided then screenshots of all displays are going to be returned. If no matches were found then an error is thrown. **Note:** This is a physical display ID, not a logical display ID. Use `mobile: listDisplays` to get the correct `physicalId` value. | 1234567890
1684
+ displayId | number or string | no | **Physical or virtual display identifier** to take a screenshot for. If not provided then screenshots of all displays are going to be returned. If no matches were found then an error is thrown. **Note:** This is a physical or virtual display ID, not a logical display ID. Use `mobile: listDisplays` to get the correct `physicalId` (for physical displays) or `virtualId` (for virtual displays) value. | 1234567890
1680
1685
 
1681
1686
  #### Returns
1682
1687
 
1683
- A dictionary where each key is the physical display identifier (as a string) and the value has the following keys:
1684
- - `id`: The physical display identifier (same as the key)
1688
+ A dictionary where each key is the physical or virtual display identifier (as a string) and the value has the following keys:
1689
+ - `id`: The physical or virtual display identifier (same as the key)
1685
1690
  - `name`: Display name
1686
1691
  - `isDefault`: Whether this display is the default one
1687
1692
  - `payload`: The actual PNG screenshot data encoded to base64 string
@@ -252,6 +252,9 @@ declare const UIAUTOMATOR2_CONSTRAINTS: {
252
252
  readonly allowDelayAdb: {
253
253
  readonly isBoolean: true;
254
254
  };
255
+ readonly adbListenAllNetwork: {
256
+ readonly isBoolean: true;
257
+ };
255
258
  readonly ignoreUnimportantViews: {
256
259
  readonly isBoolean: true;
257
260
  };
@@ -1 +1 @@
1
- {"version":3,"file":"constraints.d.ts","sourceRoot":"","sources":["../../lib/constraints.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCE,CAAC;AAEjC,eAAe,wBAAwB,CAAC;AAExC,MAAM,MAAM,uBAAuB,GAAG,OAAO,wBAAwB,CAAC"}
1
+ {"version":3,"file":"constraints.d.ts","sourceRoot":"","sources":["../../lib/constraints.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCE,CAAC;AAEjC,eAAe,wBAAwB,CAAC;AAExC,MAAM,MAAM,uBAAuB,GAAG,OAAO,wBAAwB,CAAC"}
@@ -37,7 +37,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  const appium_adb_1 = require("appium-adb");
40
- const test_support_1 = require("@appium/test-support");
40
+ const sinon_1 = __importDefault(require("sinon"));
41
41
  const uiautomator2_1 = require("../../lib/uiautomator2");
42
42
  const helpers = __importStar(require("../../lib/helpers"));
43
43
  const logger_1 = __importDefault(require("../../lib/logger"));
@@ -207,119 +207,114 @@ describe('UiAutomator2', function () {
207
207
  ])).to.be.true;
208
208
  });
209
209
  });
210
- describe('installServerApk', (0, test_support_1.withMocks)({ adb, helpers }, (mocks) => {
210
+ describe('installServerApk', function () {
211
+ let mockAdb;
212
+ let mockHelpers;
213
+ let testAdb;
211
214
  beforeEach(function () {
215
+ testAdb = new appium_adb_1.ADB();
216
+ mockAdb = sinon_1.default.mock(testAdb);
217
+ mockHelpers = sinon_1.default.mock(helpers);
212
218
  uiautomator2 = new uiautomator2_1.UiAutomator2Server(logger_1.default, {
213
- adb, ...defaultUIA2ServerOptions
219
+ adb: testAdb, ...defaultUIA2ServerOptions
214
220
  });
215
221
  });
216
222
  afterEach(function () {
217
- mocks.verify();
223
+ mockAdb.verify();
224
+ mockHelpers.verify();
225
+ mockAdb.restore();
226
+ mockHelpers.restore();
218
227
  });
219
228
  it('new server and server.test are older than installed version', async function () {
220
- mocks.helpers.expects('isWriteable').never();
229
+ mockHelpers.expects('isWriteable').never();
221
230
  // SERVER_PACKAGE_ID
222
- mocks.adb.expects('getApplicationInstallState').once()
231
+ mockAdb.expects('getApplicationInstallState').once()
223
232
  .returns(adb.APP_INSTALL_STATE.NEWER_VERSION_INSTALLED);
224
- // SERVER_PACKAGE_ID and SERVER_TEST_PACKAGE_ID
225
- mocks.adb.expects('checkApkCert').twice().returns(true);
226
- mocks.adb.expects('uninstallApk').twice();
227
- mocks.adb.expects('install').twice();
228
- mocks.adb.expects('isAppInstalled')
233
+ mockAdb.expects('uninstallApk').twice();
234
+ mockAdb.expects('install').twice();
235
+ mockAdb.expects('isAppInstalled')
229
236
  .withExactArgs(uiautomator2_1.SERVER_TEST_PACKAGE_ID)
230
237
  .once().returns(true);
231
- mocks.adb.expects('shell')
238
+ mockAdb.expects('shell')
232
239
  .withExactArgs(['pm', 'list', 'instrumentation'])
233
240
  .once().returns(uiautomator2_1.INSTRUMENTATION_TARGET);
234
241
  await uiautomator2.installServerApk();
235
242
  });
236
243
  it('new server and server.test are newer than installed version', async function () {
237
- mocks.helpers.expects('isWriteable').never();
244
+ mockHelpers.expects('isWriteable').never();
238
245
  // SERVER_PACKAGE_ID
239
- mocks.adb.expects('getApplicationInstallState').once()
246
+ mockAdb.expects('getApplicationInstallState').once()
240
247
  .returns(adb.APP_INSTALL_STATE.OLDER_VERSION_INSTALLED);
241
- // SERVER_PACKAGE_ID and SERVER_TEST_PACKAGE_ID
242
- mocks.adb.expects('checkApkCert').twice().returns(true);
243
- mocks.adb.expects('isAppInstalled')
248
+ mockAdb.expects('isAppInstalled')
244
249
  .withExactArgs(uiautomator2_1.SERVER_TEST_PACKAGE_ID)
245
250
  .once().returns(true);
246
- mocks.adb.expects('uninstallApk').twice();
247
- mocks.adb.expects('install').twice();
248
- mocks.adb.expects('shell')
251
+ mockAdb.expects('uninstallApk').never();
252
+ mockAdb.expects('install').twice();
253
+ mockAdb.expects('shell')
249
254
  .withExactArgs(['pm', 'list', 'instrumentation'])
250
255
  .once().returns(uiautomator2_1.INSTRUMENTATION_TARGET);
251
256
  await uiautomator2.installServerApk();
252
257
  });
253
258
  it('new server and server.test are the same as installed version', async function () {
254
- mocks.helpers.expects('isWriteable').never();
259
+ mockHelpers.expects('isWriteable').never();
255
260
  // SERVER_PACKAGE_ID
256
- mocks.adb.expects('getApplicationInstallState').once()
261
+ mockAdb.expects('getApplicationInstallState').once()
257
262
  .returns(adb.APP_INSTALL_STATE.SAME_VERSION_INSTALLED);
258
- // SERVER_PACKAGE_ID and SERVER_TEST_PACKAGE_ID
259
- mocks.adb.expects('checkApkCert').twice().returns(true);
260
- mocks.adb.expects('isAppInstalled')
263
+ mockAdb.expects('isAppInstalled')
261
264
  .withExactArgs(uiautomator2_1.SERVER_TEST_PACKAGE_ID)
262
265
  .once().returns(true);
263
- mocks.adb.expects('uninstallApk').never();
264
- mocks.adb.expects('install').never();
265
- mocks.adb.expects('shell')
266
+ mockAdb.expects('uninstallApk').never();
267
+ mockAdb.expects('install').never();
268
+ mockAdb.expects('shell')
266
269
  .withExactArgs(['pm', 'list', 'instrumentation'])
267
270
  .once().returns(uiautomator2_1.INSTRUMENTATION_TARGET);
268
271
  await uiautomator2.installServerApk();
269
272
  });
270
273
  it('new server and server.test are not installed', async function () {
271
- mocks.helpers.expects('isWriteable').atLeast(1)
272
- .returns(true);
274
+ mockHelpers.expects('isWriteable').never();
273
275
  // SERVER_PACKAGE_ID
274
- mocks.adb.expects('getApplicationInstallState').once()
276
+ mockAdb.expects('getApplicationInstallState').once()
275
277
  .returns(adb.APP_INSTALL_STATE.NOT_INSTALLED);
276
- // SERVER_PACKAGE_ID and SERVER_TEST_PACKAGE_ID
277
- mocks.adb.expects('checkApkCert').twice().returns(false);
278
- mocks.adb.expects('sign').twice();
279
278
  // SERVER_TEST_PACKAGE_ID
280
- mocks.adb.expects('isAppInstalled')
279
+ mockAdb.expects('isAppInstalled')
281
280
  .withExactArgs(uiautomator2_1.SERVER_TEST_PACKAGE_ID)
282
281
  .once().returns(false);
283
- mocks.adb.expects('uninstallApk').never();
284
- mocks.adb.expects('install').twice();
285
- mocks.adb.expects('shell').withExactArgs(['pm', 'list', 'instrumentation'])
282
+ mockAdb.expects('uninstallApk').never();
283
+ mockAdb.expects('install').twice();
284
+ mockAdb.expects('shell').withExactArgs(['pm', 'list', 'instrumentation'])
286
285
  .once().returns(uiautomator2_1.INSTRUMENTATION_TARGET);
287
286
  await uiautomator2.installServerApk();
288
287
  });
289
288
  it('version numbers of new server and server.test are unknown', async function () {
290
- mocks.helpers.expects('isWriteable').never();
289
+ mockHelpers.expects('isWriteable').never();
291
290
  // SERVER_PACKAGE_ID
292
- mocks.adb.expects('getApplicationInstallState').once()
291
+ mockAdb.expects('getApplicationInstallState').once()
293
292
  .returns(adb.APP_INSTALL_STATE.UNKNOWN);
294
- // SERVER_PACKAGE_ID and SERVER_TEST_PACKAGE_ID
295
- mocks.adb.expects('checkApkCert').twice().returns(true);
296
- mocks.adb.expects('isAppInstalled')
293
+ mockAdb.expects('isAppInstalled')
297
294
  .withExactArgs(uiautomator2_1.SERVER_TEST_PACKAGE_ID)
298
295
  .once().returns(false);
299
- mocks.adb.expects('uninstallApk').twice();
300
- mocks.adb.expects('install').twice();
301
- mocks.adb.expects('shell')
296
+ mockAdb.expects('uninstallApk').twice();
297
+ mockAdb.expects('install').twice();
298
+ mockAdb.expects('shell')
302
299
  .withExactArgs(['pm', 'list', 'instrumentation'])
303
300
  .once().returns(uiautomator2_1.INSTRUMENTATION_TARGET);
304
301
  await uiautomator2.installServerApk();
305
302
  });
306
303
  it('a server is installed but server.test is not', async function () {
307
- mocks.helpers.expects('isWriteable').never();
304
+ mockHelpers.expects('isWriteable').never();
308
305
  // SERVER_PACKAGE_ID
309
- mocks.adb.expects('getApplicationInstallState').once()
306
+ mockAdb.expects('getApplicationInstallState').once()
310
307
  .returns(adb.APP_INSTALL_STATE.SAME_VERSION_INSTALLED);
311
- // SERVER_PACKAGE_ID and SERVER_TEST_PACKAGE_ID
312
- mocks.adb.expects('checkApkCert').twice().returns(true);
313
- mocks.adb.expects('isAppInstalled')
308
+ mockAdb.expects('isAppInstalled')
314
309
  .withExactArgs(uiautomator2_1.SERVER_TEST_PACKAGE_ID)
315
310
  .once().returns(false);
316
- mocks.adb.expects('uninstallApk').never();
317
- mocks.adb.expects('install').twice();
318
- mocks.adb.expects('shell')
311
+ mockAdb.expects('uninstallApk').twice();
312
+ mockAdb.expects('install').twice();
313
+ mockAdb.expects('shell')
319
314
  .withExactArgs(['pm', 'list', 'instrumentation'])
320
315
  .once().returns(uiautomator2_1.INSTRUMENTATION_TARGET);
321
316
  await uiautomator2.installServerApk();
322
317
  });
323
- }));
318
+ });
324
319
  });
325
320
  //# sourceMappingURL=uiautomator2-specs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uiautomator2-specs.js","sourceRoot":"","sources":["../../../test/unit/uiautomator2-specs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uiautomator2-specs.js","sourceRoot":"","sources":["../../../test/unit/uiautomator2-specs.ts"],"names":[],"mappings":"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"}