appium-uiautomator2-driver 2.9.0 → 2.9.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/README.md CHANGED
@@ -102,7 +102,7 @@ appium:buildToolsVersion | The version of Android build tools to use. By default
102
102
  appium:skipLogcatCapture | Being set to `true` disables automatic logcat output collection during the test run. `false` by default
103
103
  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
104
104
  appium:ignoreHiddenApiPolicyError | Being set to `true` ignores a failure while changing hidden API access policies. Could be useful on some devices, where access to these policies has been locked by its vendor. `false` by default.
105
- 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`).
105
+ 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.
106
106
  appium:logcatFormat | The log print format, where `format` is one of: `brief` `process` `tag` `thread` `raw` `time` `threadtime` `long`. `threadtime` is the default value.
107
107
  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'.
108
108
  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.
@@ -1214,7 +1214,7 @@ happens. Add a timer and wait for a couple of seconds before giving up on the el
1214
1214
  still fails after the timeout and your non-xpath locator is used then, most likely, it contains a typo, or the
1215
1215
  destination element is not present. There is not much that could be done in UIA2 to change/influence that, since it passes such lookup calls directly to Google's UiAutomator framework.
1216
1216
 
1217
- In case of xpath locators you could also try to change values of the following settings:
1217
+ In case of _xpath_ locators you could try to change values of the following settings:
1218
1218
 
1219
1219
  1. [allowInvisibleElements](#settings-api)
1220
1220
  2. [ignoreUnimportantViews](#settings-api)
@@ -1229,6 +1229,12 @@ that are normally hidden, because of their unimportance.
1229
1229
 
1230
1230
  The third setting being set to `true` extends the page source by adding the actual content of other windows that are currently present on the device's screen. For example, the on-screen keyboard in Android is not a part of the current app hierarchy, but rather belongs to a separate window.
1231
1231
 
1232
+ In case of _id_ locators you could try to change the value of the following setting:
1233
+
1234
+ 1. [disableIdLocatorAutocompletion](#settings-api)
1235
+
1236
+ The general resources naming convention for Android apps is `<app_id>:id/<resource_name>`. This should guarantee uniqueness of each identifier accross the user interface. Although, this is only a convention and it is still allowed to have various resource names that do not follow it. If you have gotten one of such applications for automated testing then consider assigning `disableIdLocatorAutocompletion` setting value to `true`, so UiAutomator2 driver does not automatically rewrite supplied id values by adding `<app_id>:id/` prefixes to them.
1237
+
1232
1238
  > **Warning**
1233
1239
  > Default values for settings above have been selected to optimize xpath lookup and page source generation performance.
1234
1240
  > Having these settings always different from their default values may sometimes significantly (especially in case of huge accessbility hierarchies) reduce xpath lookup and page source generation speed.
@@ -1236,6 +1242,10 @@ The third setting being set to `true` extends the page source by adding the actu
1236
1242
  > **Warning**
1237
1243
  > All items above are settings, not capabilities.
1238
1244
 
1245
+ ### ClassCastException: java.util.ArrayList$ListItr cannot be cast to org.eclipse.wst.xml.xpath2.processor
1246
+
1247
+ This exception happens due to a known bug in the [Eclipse's Psychopath](https://wiki.eclipse.org/PsychoPathXPathProcessor) library used by UiAutomator2 driver to support [XPath2](https://www.w3.org/TR/xpath20/) syntax. The issue has been observed while using `following::` or `preceding::` axes in xpath queries. Unfortunately, this library has not been maintained for quite a while, and there is no good open source alternative to it. The only known workaround would be to forcefully switch the driver's XPath processor to the standard Android's Apache Harmony-based XPath1, which does not have this issue (but also does not support XPath2 syntax). See the Appium issue [#16142](https://github.com/appium/appium/issues/16142#issuecomment-1003954166) for more details.
1248
+
1239
1249
 
1240
1250
  ## Usage Examples
1241
1251
 
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "appium-uiautomator2-driver",
3
- "version": "2.9.0",
3
+ "version": "2.9.1",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "appium-uiautomator2-driver",
9
- "version": "2.9.0",
9
+ "version": "2.9.1",
10
10
  "license": "Apache-2.0",
11
11
  "dependencies": {
12
12
  "@babel/runtime": "^7.0.0",
13
- "appium-adb": "^9.10.9",
13
+ "appium-adb": "^9.10.14",
14
14
  "appium-android-driver": "^5.6.0",
15
15
  "appium-chromedriver": "^5.2.1",
16
16
  "appium-uiautomator2-server": "^5.7.0",
@@ -265,7 +265,7 @@
265
265
  }
266
266
  },
267
267
  "node_modules/@babel/parser": {
268
- "version": "7.19.4",
268
+ "version": "7.20.0",
269
269
  "extraneous": true,
270
270
  "license": "MIT",
271
271
  "bin": {
@@ -276,10 +276,10 @@
276
276
  }
277
277
  },
278
278
  "node_modules/@babel/runtime": {
279
- "version": "7.19.4",
279
+ "version": "7.20.0",
280
280
  "license": "MIT",
281
281
  "dependencies": {
282
- "regenerator-runtime": "^0.13.4"
282
+ "regenerator-runtime": "^0.13.10"
283
283
  },
284
284
  "engines": {
285
285
  "node": ">=6.9.0"
@@ -961,7 +961,7 @@
961
961
  }
962
962
  },
963
963
  "node_modules/@types/node": {
964
- "version": "18.11.2",
964
+ "version": "18.11.7",
965
965
  "license": "MIT"
966
966
  },
967
967
  "node_modules/@types/normalize-package-data": {
@@ -1167,7 +1167,7 @@
1167
1167
  "license": "MIT"
1168
1168
  },
1169
1169
  "node_modules/appium-adb": {
1170
- "version": "9.10.12",
1170
+ "version": "9.10.14",
1171
1171
  "license": "Apache-2.0",
1172
1172
  "dependencies": {
1173
1173
  "@appium/support": "^2.60.0",
@@ -1190,7 +1190,7 @@
1190
1190
  }
1191
1191
  },
1192
1192
  "node_modules/appium-android-driver": {
1193
- "version": "5.6.0",
1193
+ "version": "5.7.0",
1194
1194
  "license": "Apache-2.0",
1195
1195
  "dependencies": {
1196
1196
  "@babel/runtime": "^7.0.0",
@@ -1222,7 +1222,7 @@
1222
1222
  }
1223
1223
  },
1224
1224
  "node_modules/appium-chromedriver": {
1225
- "version": "5.2.4",
1225
+ "version": "5.2.5",
1226
1226
  "hasInstallScript": true,
1227
1227
  "license": "Apache-2.0",
1228
1228
  "dependencies": {
@@ -1248,7 +1248,7 @@
1248
1248
  }
1249
1249
  },
1250
1250
  "node_modules/appium-uiautomator2-server": {
1251
- "version": "5.7.0",
1251
+ "version": "5.7.1",
1252
1252
  "license": "Apache-2.0",
1253
1253
  "engines": {
1254
1254
  "node": ">=14",
@@ -1312,6 +1312,10 @@
1312
1312
  "url": "https://github.com/sponsors/isaacs"
1313
1313
  }
1314
1314
  },
1315
+ "node_modules/archiver-utils/node_modules/isarray": {
1316
+ "version": "1.0.0",
1317
+ "license": "MIT"
1318
+ },
1315
1319
  "node_modules/archiver-utils/node_modules/readable-stream": {
1316
1320
  "version": "2.3.7",
1317
1321
  "license": "MIT",
@@ -2672,7 +2676,7 @@
2672
2676
  }
2673
2677
  },
2674
2678
  "node_modules/io.appium.settings": {
2675
- "version": "4.2.1",
2679
+ "version": "4.2.2",
2676
2680
  "license": "Apache-2.0",
2677
2681
  "engines": {
2678
2682
  "node": ">=14",
@@ -2882,10 +2886,6 @@
2882
2886
  "url": "https://github.com/sponsors/ljharb"
2883
2887
  }
2884
2888
  },
2885
- "node_modules/isarray": {
2886
- "version": "1.0.0",
2887
- "license": "MIT"
2888
- },
2889
2889
  "node_modules/isexe": {
2890
2890
  "version": "2.0.0",
2891
2891
  "license": "ISC"
@@ -3040,6 +3040,10 @@
3040
3040
  "node": ">= 0.6.3"
3041
3041
  }
3042
3042
  },
3043
+ "node_modules/lazystream/node_modules/isarray": {
3044
+ "version": "1.0.0",
3045
+ "license": "MIT"
3046
+ },
3043
3047
  "node_modules/lazystream/node_modules/readable-stream": {
3044
3048
  "version": "2.3.7",
3045
3049
  "license": "MIT",
@@ -5039,7 +5043,7 @@
5039
5043
  "license": "ISC"
5040
5044
  },
5041
5045
  "node_modules/ws": {
5042
- "version": "8.9.0",
5046
+ "version": "8.10.0",
5043
5047
  "license": "MIT",
5044
5048
  "engines": {
5045
5049
  "node": ">=10.0.0"
@@ -5325,13 +5329,13 @@
5325
5329
  }
5326
5330
  },
5327
5331
  "@babel/parser": {
5328
- "version": "7.19.4",
5332
+ "version": "7.20.0",
5329
5333
  "extraneous": true
5330
5334
  },
5331
5335
  "@babel/runtime": {
5332
- "version": "7.19.4",
5336
+ "version": "7.20.0",
5333
5337
  "requires": {
5334
- "regenerator-runtime": "^0.13.4"
5338
+ "regenerator-runtime": "^0.13.10"
5335
5339
  }
5336
5340
  },
5337
5341
  "@colors/colors": {
@@ -5805,7 +5809,7 @@
5805
5809
  }
5806
5810
  },
5807
5811
  "@types/node": {
5808
- "version": "18.11.2"
5812
+ "version": "18.11.7"
5809
5813
  },
5810
5814
  "@types/normalize-package-data": {
5811
5815
  "version": "2.4.1"
@@ -5947,7 +5951,7 @@
5947
5951
  "version": "1.1.0"
5948
5952
  },
5949
5953
  "appium-adb": {
5950
- "version": "9.10.12",
5954
+ "version": "9.10.14",
5951
5955
  "requires": {
5952
5956
  "@appium/support": "^2.60.0",
5953
5957
  "@babel/runtime": "^7.0.0",
@@ -5965,7 +5969,7 @@
5965
5969
  }
5966
5970
  },
5967
5971
  "appium-android-driver": {
5968
- "version": "5.6.0",
5972
+ "version": "5.7.0",
5969
5973
  "requires": {
5970
5974
  "@babel/runtime": "^7.0.0",
5971
5975
  "appium-adb": "^9.10.9",
@@ -5989,7 +5993,7 @@
5989
5993
  }
5990
5994
  },
5991
5995
  "appium-chromedriver": {
5992
- "version": "5.2.4",
5996
+ "version": "5.2.5",
5993
5997
  "requires": {
5994
5998
  "@babel/runtime": "^7.0.0",
5995
5999
  "@xmldom/xmldom": "^0.x",
@@ -6006,7 +6010,7 @@
6006
6010
  }
6007
6011
  },
6008
6012
  "appium-uiautomator2-server": {
6009
- "version": "5.7.0"
6013
+ "version": "5.7.1"
6010
6014
  },
6011
6015
  "aproba": {
6012
6016
  "version": "2.0.0"
@@ -6049,6 +6053,9 @@
6049
6053
  "path-is-absolute": "^1.0.0"
6050
6054
  }
6051
6055
  },
6056
+ "isarray": {
6057
+ "version": "1.0.0"
6058
+ },
6052
6059
  "readable-stream": {
6053
6060
  "version": "2.3.7",
6054
6061
  "requires": {
@@ -6943,7 +6950,7 @@
6943
6950
  }
6944
6951
  },
6945
6952
  "io.appium.settings": {
6946
- "version": "4.2.1"
6953
+ "version": "4.2.2"
6947
6954
  },
6948
6955
  "ipaddr.js": {
6949
6956
  "version": "1.9.1",
@@ -7051,9 +7058,6 @@
7051
7058
  "call-bind": "^1.0.2"
7052
7059
  }
7053
7060
  },
7054
- "isarray": {
7055
- "version": "1.0.0"
7056
- },
7057
7061
  "isexe": {
7058
7062
  "version": "2.0.0"
7059
7063
  },
@@ -7172,6 +7176,9 @@
7172
7176
  "readable-stream": "^2.0.5"
7173
7177
  },
7174
7178
  "dependencies": {
7179
+ "isarray": {
7180
+ "version": "1.0.0"
7181
+ },
7175
7182
  "readable-stream": {
7176
7183
  "version": "2.3.7",
7177
7184
  "requires": {
@@ -8490,7 +8497,7 @@
8490
8497
  "version": "1.0.2"
8491
8498
  },
8492
8499
  "ws": {
8493
- "version": "8.9.0",
8500
+ "version": "8.10.0",
8494
8501
  "requires": {}
8495
8502
  },
8496
8503
  "xhr": {
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "automated testing",
8
8
  "android"
9
9
  ],
10
- "version": "2.9.0",
10
+ "version": "2.9.1",
11
11
  "author": "Appium Contributors",
12
12
  "license": "Apache-2.0",
13
13
  "repository": {
@@ -55,7 +55,7 @@
55
55
  ],
56
56
  "dependencies": {
57
57
  "@babel/runtime": "^7.0.0",
58
- "appium-adb": "^9.10.9",
58
+ "appium-adb": "^9.10.14",
59
59
  "appium-android-driver": "^5.6.0",
60
60
  "appium-chromedriver": "^5.2.1",
61
61
  "appium-uiautomator2-server": "^5.7.0",