appium-uiautomator2-driver 3.8.0 → 3.8.2

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.2](https://github.com/appium/appium-uiautomator2-driver/compare/v3.8.1...v3.8.2) (2024-11-11)
2
+
3
+ ### Miscellaneous Chores
4
+
5
+ * bump adb to include supporting activities with unicode chars ([#836](https://github.com/appium/appium-uiautomator2-driver/issues/836)) ([c36962e](https://github.com/appium/appium-uiautomator2-driver/commit/c36962ebc135a1d8f761aa4e1a9bada3488408c0))
6
+
7
+ ## [3.8.1](https://github.com/appium/appium-uiautomator2-driver/compare/v3.8.0...v3.8.1) (2024-10-31)
8
+
9
+ ### Miscellaneous Chores
10
+
11
+ * Bump android driver ([aeb5809](https://github.com/appium/appium-uiautomator2-driver/commit/aeb58092119ac58a7ff1c761332dd75f028f3e0a))
12
+
1
13
  ## [3.8.0](https://github.com/appium/appium-uiautomator2-driver/compare/v3.7.11...v3.8.0) (2024-09-17)
2
14
 
3
15
  ### Features
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,7 +243,7 @@ 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
246
+ ## BiDi Protocol Support
247
247
 
248
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
249
 
@@ -878,6 +878,25 @@ flags | string | no | Intent startup-specific flags as a hexadecimal string. Che
878
878
 
879
879
  The actual stdout of the downstream `am` command.
880
880
 
881
+ #### Example
882
+
883
+ Use the code snippet below to represent the following shell command: `shell am start-activity -W -n io.appium.android.apis/io.appium.android.apis.ApiDemos -S -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -f 0x10200000'`, which is usually similar to what is called in a new session request.
884
+ If you replace `'io.appium.android.apis/io.appium.android.apis.ApiDemos'` with your expected launchable activity, it would be the alternative method to start the activity in session.
885
+
886
+ Please check [how appium adds flags](https://github.com/appium/appium-android-driver/blob/master/lib/commands/intent.js) for more details to understand how Appium builds flags.
887
+
888
+ ```ruby
889
+ # Ruby
890
+ driver.execute_script 'mobile: startActivity', {
891
+ wait: true,
892
+ stop: true,
893
+ action: 'android.intent.action.MAIN',
894
+ component: 'io.appium.android.apis/io.appium.android.apis.ApiDemos',
895
+ categories: ['android.intent.category.LAUNCHER'],
896
+ flags: '0x10200000'
897
+ }
898
+ ```
899
+
881
900
  ### mobile: startService
882
901
 
883
902
  Starts the given service intent. Invokes `am startservice` or `am start-service` command under the hood.
@@ -1035,6 +1054,37 @@ Determine whether the device is locked.
1035
1054
 
1036
1055
  Either `true` or `false`
1037
1056
 
1057
+ ### mobile: setGeolocation
1058
+
1059
+ Sets emulated geolocation coordinates on the device under test.
1060
+
1061
+ #### Arguments
1062
+
1063
+ Name | Type | Required | Description | Example
1064
+ --- | --- | --- | --- | ---
1065
+ latitude | number | yes | [Latitude](https://en.wikipedia.org/wiki/Latitude) value | 32.456
1066
+ longitude | number | yes | [longitude](https://en.wikipedia.org/wiki/Longitude) value | 32.456
1067
+ altitude | number | no | [Altitude](https://en.wikipedia.org/wiki/Altitude) value. Zero by default | 5.678
1068
+
1069
+ ### mobile: getGeolocation
1070
+
1071
+ Retrieves current geolocation coordinates from the device under test. If coordinates are mocked/emulated
1072
+ then these coordinates would be returned.
1073
+
1074
+ #### Returned Result
1075
+
1076
+ A map with the following entries:
1077
+
1078
+ Name | Type | Description | Example
1079
+ --- | --- | --- | ---
1080
+ latitude | number | [Latitude](https://en.wikipedia.org/wiki/Latitude) value | 32.456
1081
+ longitude | number | [longitude](https://en.wikipedia.org/wiki/Longitude) value | 32.456
1082
+ altitude | number | [Altitude](https://en.wikipedia.org/wiki/Altitude) value | 5.678
1083
+
1084
+ ### mobile: resetGeolocation
1085
+
1086
+ Resets mocked geolocation provider to the default/system one. Only works for real devices.
1087
+
1038
1088
  ### mobile: refreshGpsCache
1039
1089
 
1040
1090
  Sends a request to refresh the GPS cache on the device under test.