appium-uiautomator2-driver 2.0.8 → 2.1.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/README.md CHANGED
@@ -206,6 +206,7 @@ text or name | The element's text. It never equals to null | 'my text'
206
206
  bounds | The element's visible frame (`[left, top][right, bottom]`) | `[0,0][100,100]`
207
207
  displayed | Whether the element is visible to the user | 'true'
208
208
  contentSize | The dimensions of the element's content area | `{"left": 0, "top":0, "width": 100, "height": 100, "scrollableOffset": 10, "touchPadding": 0}`
209
+ extras | The result of [getExtras](https://developer.android.com/reference/android/view/accessibility/AccessibilityNodeInfo#getExtras()). The value includes all key-value pairs as `key=value` separated by a semicolon (`;`). If the value is empty, then only key part ending with the equal sign will be present. | Part of extras in chrome browser:<br> `AccessibilityNodeInfo.roleDescription=;`<br>`AccessibilityNodeInfo.chromeRole=rootWebArea;`<br> `ACTION_ARGUMENT_HTML_ELEMENT_STRING_VALUES=`<br> `ARTICLE,BLOCKQUOTE,BUTTON,CHECKBOX`
209
210
 
210
211
 
211
212
  ## Element Location
@@ -279,6 +280,7 @@ useResourcesForOrientationDetection | boolean | Defines the strategy used by UiA
279
280
  enforceXPath1 | boolean | Since UiAutomator2 driver version `4.25.0` XPath2 is set as the default and the recommended interpreter for the corresponding element locators. This interpreter is based on [Psychopath XPath2](https://wiki.eclipse.org/PsychoPathXPathProcessor) implementation, which is now a part of the Eclipse foundation. In most of the cases XPath1 locators are also valid XPath2 locators, so there should be no issues while locating elements. Although, since the XPath2 standard is much more advanced in comparison to the previous version, some [issues](https://github.com/appium/appium/issues/16142) are possible for more sophisticated locators, which cannot be fixed easily, as we depend on the third-party library mentioned above. Then try to workaround such issues by enforcing XPath1 usage (whose implementation is a part of the Android platform itself) and assigning this setting to `true`. Note, this setting is actually applied at the time when the element lookup by XPath is executed, so you could switch it on or off whenever needed throughout your automated testing session.
280
281
  limitXPathContextScope | boolean | Due to historical reasons UiAutomator2 driver limits scopes of element context-based searches to the parent element. This means a request like `findElement(By.xpath, "//root").findElement(By.xpath, "./..")` would always fail, because the driver only collects descendants of the `root` element for the destination XML source. The `limitXPathContextScope` setting being set to `false` changes that default behavior, so the collected page source includes the whole page source XML where `root` node is set as the search context. With that setting disabled the search query above should not fail anymore. Although, you must still be careful while building XPath requests for context-based searches with the `limitXPathContextScope` setting set to `false`. A request like `findElement(By.xpath, "//root").findElement(By.xpath, "//element")` would ignore the current context and search for `element` trough the whole page source. Use `.` notation to correct that behavior and only find `element` nodes which are descendants of the `root` node: `findElement(By.xpath, "//root").findElement(By.xpath, ".//element")`.
281
282
  disableIdLocatorAutocompletion | boolean | According to internal Android standards it is expected that each resource identifier is prefixed with `<packageName>:id/` string. This should guarantee uniqueness of each identifier. Although some application development frameworks ignore this rule and don't add such prefix automatically or, rather, let it up to the developer to decide how to represent their application identifiers. By default UIA2 driver adds the above prefixes automatically to all resource id locators if they are not prefixed, but in case of such "special" apps this feature might be disabled by assigning the setting to `true`.
283
+ 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.
282
284
 
283
285
 
284
286
  ## Platform-Specific Extensions
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appium-uiautomator2-driver",
3
- "version": "2.0.8",
3
+ "version": "2.1.0",
4
4
  "lockfileVersion": 1,
5
5
  "requires": true,
6
6
  "dependencies": {
@@ -27,6 +27,16 @@
27
27
  "serve-favicon": "2.5.0",
28
28
  "source-map-support": "0.5.21",
29
29
  "validate.js": "0.13.1"
30
+ },
31
+ "dependencies": {
32
+ "axios": {
33
+ "version": "0.26.1",
34
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz",
35
+ "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==",
36
+ "requires": {
37
+ "follow-redirects": "^1.14.8"
38
+ }
39
+ }
30
40
  }
31
41
  },
32
42
  "@appium/support": {
@@ -69,6 +79,16 @@
69
79
  "uuid": "8.3.2",
70
80
  "which": "2.0.2",
71
81
  "yauzl": "2.10.0"
82
+ },
83
+ "dependencies": {
84
+ "axios": {
85
+ "version": "0.26.1",
86
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz",
87
+ "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==",
88
+ "requires": {
89
+ "follow-redirects": "^1.14.8"
90
+ }
91
+ }
72
92
  }
73
93
  },
74
94
  "@babel/code-frame": {
@@ -567,9 +587,9 @@
567
587
  }
568
588
  },
569
589
  "appium-uiautomator2-server": {
570
- "version": "5.5.1",
571
- "resolved": "https://registry.npmjs.org/appium-uiautomator2-server/-/appium-uiautomator2-server-5.5.1.tgz",
572
- "integrity": "sha512-mA5ydwyC1VAIaEUrIy4DmmqcPsUmhGFFyKWACdKH0Y1RYDcBVsB/O2giwNEJI42o2yIEkFfevisixs3Z3oEpWg=="
590
+ "version": "5.6.0",
591
+ "resolved": "https://registry.npmjs.org/appium-uiautomator2-server/-/appium-uiautomator2-server-5.6.0.tgz",
592
+ "integrity": "sha512-OlSDBK7EZ9oRZ1uLWsQMz7hAhcFwe+i1psCcw/g1oxFAUlmmqTFDSTsm8rzJz+aFlhl2ylFOloHG1caAdRtnsw=="
573
593
  },
574
594
  "aproba": {
575
595
  "version": "2.0.0",
@@ -678,11 +698,12 @@
678
698
  "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
679
699
  },
680
700
  "axios": {
681
- "version": "0.26.1",
682
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz",
683
- "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==",
701
+ "version": "0.27.1",
702
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.1.tgz",
703
+ "integrity": "sha512-ePNMai55xo5GsXajb/k756AqZqpqeDaGwGcdvbZLSSELbbYwsIn2jNmGfUPEwd8j/yu4OoMstLLIVa4t0MneEA==",
684
704
  "requires": {
685
- "follow-redirects": "^1.14.8"
705
+ "follow-redirects": "^1.14.9",
706
+ "form-data": "^4.0.0"
686
707
  }
687
708
  },
688
709
  "balanced-match": {
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "automated testing",
8
8
  "android"
9
9
  ],
10
- "version": "2.0.8",
10
+ "version": "2.1.0",
11
11
  "author": "appium",
12
12
  "license": "Apache-2.0",
13
13
  "repository": {
@@ -46,7 +46,7 @@
46
46
  "appium-adb": "^9.0.0",
47
47
  "appium-android-driver": "^5.0.9",
48
48
  "appium-chromedriver": "^5.0.2",
49
- "appium-uiautomator2-server": "^5.5.0",
49
+ "appium-uiautomator2-server": "^5.6.0",
50
50
  "asyncbox": "^2.3.1",
51
51
  "axios": "^0.x",
52
52
  "bluebird": "^3.5.1",