appium-uiautomator2-driver 3.7.11 → 3.8.1

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,15 @@
1
+ ## [3.8.1](https://github.com/appium/appium-uiautomator2-driver/compare/v3.8.0...v3.8.1) (2024-10-31)
2
+
3
+ ### Miscellaneous Chores
4
+
5
+ * Bump android driver ([aeb5809](https://github.com/appium/appium-uiautomator2-driver/commit/aeb58092119ac58a7ff1c761332dd75f028f3e0a))
6
+
7
+ ## [3.8.0](https://github.com/appium/appium-uiautomator2-driver/compare/v3.7.11...v3.8.0) (2024-09-17)
8
+
9
+ ### Features
10
+
11
+ * Bump appium-chromedriver ([#828](https://github.com/appium/appium-uiautomator2-driver/issues/828)) ([653b140](https://github.com/appium/appium-uiautomator2-driver/commit/653b140b639c03ea8573efc2d3fe0662f60df681))
12
+
1
13
  ## [3.7.11](https://github.com/appium/appium-uiautomator2-driver/compare/v3.7.10...v3.7.11) (2024-09-13)
2
14
 
3
15
  ### Miscellaneous Chores
package/README.md CHANGED
@@ -110,7 +110,7 @@ appium:skipLogcatCapture | Being set to `true` disables automatic logcat output
110
110
  appium:suppressKillServer | Being set to `true` prevents the driver from ever killing the ADB server explicitly. Could be useful if ADB is connected wirelessly. `false` by default
111
111
  appium:ignoreHiddenApiPolicyError | Being set to `true` ignores a failure while changing hidden API access policies to [enable access to non-SDK interfaces](https://developer.android.com/guide/app-compatibility/restrictions-non-sdk-interfaces#how_can_i_enable_access_to_non-sdk_interfaces). Could be useful on some devices, where access to these policies has been locked by its vendor. `false` by default.
112
112
  appium:hideKeyboard | Being set to `true` hides the on-screen keyboard while the session is running. Use it instead of the legacy `appium:unicodeKeyboard` one (which will be dropped in the future). This effect is achieved by assigning a custom "artificial" [input method](https://developer.android.com/develop/ui/views/touch-and-input/creating-input-method). Only use this feature for special/exploratory cases as it violates the way your application under test is normally interacted with by a human. Setting this capability explicitly to `false` enforces `adb shell ime reset` call on session startup, which resets the currently selected/enabled IMEs to the default ones as if the device is initially booted with the current locale. `undefined` by default.
113
- appium:mockLocationApp | Sets the package identifier of the app, which is used as a system mock location provider since Appium 1.18.0+. This capability has no effect on emulators. If the value is set to `null` or an empty string, then Appium will skip the mocked location provider setup procedure. Defaults to Appium Setting package identifier (`io.appium.settings`). Termination of a mock location provider application resets the mocked location data.
113
+ appium:mockLocationApp | Sets the package identifier of the app, which is used as a system mock location provider since Appium 1.18.0+. This capability has no effect on emulators. If the value is set to `null` or an empty string, then the driver will reset the mocked location provider, e.g. the location won't be mocked anymore. Defaults to Appium Setting package identifier (`io.appium.settings`). Termination of a mock location provider application resets the mocked location data.
114
114
  appium:logcatFormat | The log print format, where `format` is one of: `brief` `process` `tag` `thread` `raw` `time` `threadtime` `long`. `threadtime` is the default value.
115
115
  appium:logcatFilterSpecs | Series of `tag[:priority]` where `tag` is a log component tag (or * for all) and priority is: `V Verbose`, `D Debug`, `I Info`, `W Warn`, `E Error`, `F Fatal`, `S Silent (supress all output)`. '*' means '*:d' and `tag` by itself means `tag:v`. If not specified on the commandline, filterspec is set from ANDROID_LOG_TAGS. If no filterspec is found, filter defaults to '*:I'.
116
116
  appium:allowDelayAdb | Being set to `false` prevents emulator to use `-delay-adb` feature to detect its startup. See https://github.com/appium/appium/issues/14773 for more details.
@@ -243,6 +243,11 @@ xpath | For elements lookup Xpath strategy the driver uses the same XML tree tha
243
243
  > using them or plan to use them in the future.
244
244
 
245
245
 
246
+ ## BiDi Protocol Support
247
+
248
+ UIAutomator2 driver has partial support of the [BiDi Protocol](https://w3c.github.io/webdriver-bidi/) since version 3.7.10. Check the [Supported BiDi Commands And Events](./docs/bidi.md) document for more details.
249
+
250
+
246
251
  ## Parallel Tests
247
252
 
248
253
  It is possible to execute tests in parallel using UiAutomator2 driver.
@@ -1030,6 +1035,37 @@ Determine whether the device is locked.
1030
1035
 
1031
1036
  Either `true` or `false`
1032
1037
 
1038
+ ### mobile: setGeolocation
1039
+
1040
+ Sets emulated geolocation coordinates on the device under test.
1041
+
1042
+ #### Arguments
1043
+
1044
+ Name | Type | Required | Description | Example
1045
+ --- | --- | --- | --- | ---
1046
+ latitude | number | yes | [Latitude](https://en.wikipedia.org/wiki/Latitude) value | 32.456
1047
+ longitude | number | yes | [longitude](https://en.wikipedia.org/wiki/Longitude) value | 32.456
1048
+ altitude | number | no | [Altitude](https://en.wikipedia.org/wiki/Altitude) value. Zero by default | 5.678
1049
+
1050
+ ### mobile: getGeolocation
1051
+
1052
+ Retrieves current geolocation coordinates from the device under test. If coordinates are mocked/emulated
1053
+ then these coordinates would be returned.
1054
+
1055
+ #### Returned Result
1056
+
1057
+ A map with the following entries:
1058
+
1059
+ Name | Type | Description | Example
1060
+ --- | --- | --- | ---
1061
+ latitude | number | [Latitude](https://en.wikipedia.org/wiki/Latitude) value | 32.456
1062
+ longitude | number | [longitude](https://en.wikipedia.org/wiki/Longitude) value | 32.456
1063
+ altitude | number | [Altitude](https://en.wikipedia.org/wiki/Altitude) value | 5.678
1064
+
1065
+ ### mobile: resetGeolocation
1066
+
1067
+ Resets mocked geolocation provider to the default/system one. Only works for real devices.
1068
+
1033
1069
  ### mobile: refreshGpsCache
1034
1070
 
1035
1071
  Sends a request to refresh the GPS cache on the device under test.
@@ -1678,6 +1714,8 @@ There are several ways to provide a customized Chromedriver to UIA2 driver:
1678
1714
 
1679
1715
  #### When installing the driver
1680
1716
 
1717
+ _Note_: This only works for driver versions below 3.8.0
1718
+
1681
1719
  Specify the Chromedriver version in the `CHROMEDRIVER_VERSION` environment variable:
1682
1720
 
1683
1721
  ```bash
@@ -1739,19 +1777,13 @@ There is a possibility to automatically download the necessary chromedriver(s) i
1739
1777
 
1740
1778
  ### Troubleshooting Chromedriver Download Issues
1741
1779
 
1742
- When UIA2 driver is installed it automatically downloads Chromedriver, so there is a possibility
1743
- of network or other issues leading to an installation failure.
1744
-
1745
- By default, Chromedriver is retrieved from `https://chromedriver.storage.googleapis.com/`.
1746
- To use a mirror of the above URL change the value of `CHROMEDRIVER_CDNURL` environemnt variable:
1747
-
1748
- ```bash
1749
- CHROMEDRIVER_CDNURL=https://npmmirror.com/mirrors/chromedriver appium driver install uiautomator2
1750
- ```
1780
+ Check the [Custom binaries url](https://github.com/appium/appium-chromedriver?tab=readme-ov-file#custom-binaries-url)
1781
+ section of appium-chromedriver README for more details on how to customize the download CDN.
1751
1782
 
1752
1783
  It may also be necessary to adjust network proxy and firewall settings for the above to work.
1753
1784
 
1754
- In case you would like skip the download of Chromedriver entirely, do it by
1785
+ If you use a UIA2 driver below version 3.8.0, and you
1786
+ would like skip the automated download of Chromedriver upon driver install, do it by
1755
1787
  defining the `APPIUM_SKIP_CHROMEDRIVER_INSTALL` environment variable:
1756
1788
 
1757
1789
  ```bash