appium-espresso-driver 8.5.6 → 8.6.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.
Files changed (45) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +6 -2
  3. package/espresso-server/app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk +0 -0
  4. package/espresso-server/buildSrc/.gradle/9.5.1/executionHistory/executionHistory.bin +0 -0
  5. package/espresso-server/buildSrc/.gradle/9.5.1/executionHistory/executionHistory.lock +0 -0
  6. package/espresso-server/buildSrc/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  7. package/espresso-server/buildSrc/.gradle/buildOutputCleanup/cache.properties +1 -1
  8. package/espresso-server/buildSrc/.gradle/file-system.probe +0 -0
  9. package/espresso-server/gradle/libs.versions.toml +1 -1
  10. package/espresso-server/library/src/main/java/io/appium/espressoserver/lib/helpers/Version.kt +1 -1
  11. package/npm-shrinkwrap.json +208 -968
  12. package/package.json +3 -2
  13. package/scripts/build-espresso.mjs +6 -2
  14. package/scripts/diagnose-app.mjs +84 -0
  15. package/scripts/lib/dependency-versions/apk-dex.mjs +87 -0
  16. package/scripts/lib/dependency-versions/apk-kotlin-metadata.mjs +70 -0
  17. package/scripts/lib/dependency-versions/apk-meta-inf.mjs +70 -0
  18. package/scripts/lib/dependency-versions/apk-scan.mjs +35 -0
  19. package/scripts/lib/dependency-versions/comparison.mjs +213 -0
  20. package/scripts/lib/dependency-versions/gradle-scan.mjs +167 -0
  21. package/scripts/lib/dependency-versions/index.mjs +23 -0
  22. package/scripts/lib/dependency-versions/report.mjs +96 -0
  23. package/scripts/lib/dependency-versions/server-versions.mjs +23 -0
  24. package/scripts/lib/dependency-versions/tracked-modules.mjs +86 -0
  25. package/scripts/lib/dependency-versions/types.mjs +40 -0
  26. package/scripts/lib/dependency-versions/version-utils.mjs +96 -0
  27. package/scripts/lib/diagnose/apk-manifest.mjs +25 -0
  28. package/scripts/lib/diagnose/app-input.mjs +74 -0
  29. package/scripts/lib/diagnose/checks/androidx.mjs +40 -0
  30. package/scripts/lib/diagnose/checks/compile-sdk.mjs +52 -0
  31. package/scripts/lib/diagnose/checks/dependency.mjs +31 -0
  32. package/scripts/lib/diagnose/checks/index.mjs +8 -0
  33. package/scripts/lib/diagnose/checks/input-kind.mjs +21 -0
  34. package/scripts/lib/diagnose/checks/internet-permission.mjs +67 -0
  35. package/scripts/lib/diagnose/checks/lifecycle-extensions.mjs +23 -0
  36. package/scripts/lib/diagnose/checks/obfuscation.mjs +50 -0
  37. package/scripts/lib/diagnose/checks/startup-provider.mjs +40 -0
  38. package/scripts/lib/diagnose/diagnosis.mjs +54 -0
  39. package/scripts/lib/diagnose/espresso-build-config.mjs +38 -0
  40. package/scripts/lib/diagnose/gradle-utils.mjs +45 -0
  41. package/scripts/lib/diagnose/index.mjs +7 -0
  42. package/scripts/lib/diagnose/project-input.mjs +20 -0
  43. package/scripts/lib/diagnose/report.mjs +53 -0
  44. package/scripts/lib/diagnose/summary.mjs +21 -0
  45. package/scripts/lib/diagnose/types.mjs +49 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## [8.6.1](https://github.com/appium/appium-espresso-driver/compare/v8.6.0...v8.6.1) (2026-06-19)
2
+
3
+ ### Miscellaneous Chores
4
+
5
+ * **deps:** bump composeUiTest in /espresso-server ([#1179](https://github.com/appium/appium-espresso-driver/issues/1179)) ([931be2d](https://github.com/appium/appium-espresso-driver/commit/931be2de4873b81dcee5771a98a0bbbaec179ae6))
6
+
7
+ ## [8.6.0](https://github.com/appium/appium-espresso-driver/compare/v8.5.6...v8.6.0) (2026-05-24)
8
+
9
+ ### Features
10
+
11
+ * Add a script for app diagnosis ([#1175](https://github.com/appium/appium-espresso-driver/issues/1175)) ([c2b48e8](https://github.com/appium/appium-espresso-driver/commit/c2b48e828d8595c90cba4e5222e21485f99b686d))
12
+
1
13
  ## [8.5.6](https://github.com/appium/appium-espresso-driver/compare/v8.5.5...v8.5.6) (2026-05-23)
2
14
 
3
15
  ### Miscellaneous Chores
package/README.md CHANGED
@@ -13,6 +13,8 @@ The Espresso package consists of two main parts:
13
13
  - The driver part (written in Node.js) ensures the communication between the Espresso server and Appium. Also includes several handlers that directly use ADB and/or other system tools without a need to talk to the server.
14
14
  - The server part (written in Kotlin with some parts of Java), which is running on the device under test and transforms REST API calls into low-level Espresso commands.
15
15
 
16
+ See the [end-to-end architecture diagram](./docs/architecture.md).
17
+
16
18
  > [!IMPORTANT]
17
19
  > Since major version *5.0.0*, this driver is only compatible with Appium 3. Use the `appium driver install espresso`
18
20
  > command to add it to your distribution.
@@ -239,6 +241,8 @@ The `swiper` argument is not supported in Compose mode. Available since driver v
239
241
 
240
242
  Calling other driver element-specific APIs not listed above would most likely throw an exception as Compose and Espresso elements are being stored in completely separated internal caches and must not be mixed.
241
243
 
244
+ If session startup or Compose interactions fail, see [How To Troubleshoot Jetpack Compose Apps](docs/compose-troubleshooting.md).
245
+
242
246
  You could also check end-to-end tests for more examples on how to setup test capabilities and
243
247
  on the Compose usage in general:
244
248
  - https://github.com/appium/appium-espresso-driver/blob/master/test/functional/commands/jetpack-componse-element-values-e2e-specs.js
@@ -1830,6 +1834,8 @@ more details.
1830
1834
 
1831
1835
  ## Troubleshooting
1832
1836
 
1837
+ * Run `appium driver run espresso diagnose-app --app /path/to/your/android-project` or `--app /path/to/debug.apk`. The script checks manifest permissions, obfuscation, AndroidX/Compose dependency alignment, and other static preconditions for precompile. Exit code is non-zero when the app is not ready for precompile.
1838
+ * If you test **Jetpack Compose** apps (or hybrid View + Compose UIs) and see server startup failures, `NoSuchMethodError` in `androidx.compose.*`, misleading `INTERNET` permission errors, `InitializationProvider` / `Resources$NotFoundException`, or locator issues in `compose` subdriver mode, read [How To Troubleshoot Jetpack Compose Apps](docs/compose-troubleshooting.md).
1833
1839
  * If you observe Espresso server crash on startup and various exceptions about missing class/method in the logcat output then consider updating [appium:espressoBuildConfig](#espresso-build-config) capability with module versions that match your application under test. This might require some experimentation, as different apps have different module requirements. Check, for example, [issue #812](https://github.com/appium/appium-espresso-driver/issues/812). Another solution might be
1834
1840
  to [integrate](#consuming-espresso-server-as-library) Espresso Server with the application under test in form of a library.
1835
1841
  * If you experience issues with application activities being not found or not starting then consider checking [How To Troubleshoot Activities Startup](docs/activity-startup.md) article.
@@ -1851,8 +1857,6 @@ to [integrate](#consuming-espresso-server-as-library) Espresso Server with the a
1851
1857
  -keep class android.support.v7.** { *; }
1852
1858
  ```
1853
1859
  Please read [#449](https://github.com/appium/appium-espresso-driver/issues/449#issuecomment-537833139) for more details on this topic.
1854
- * When you want to build without compose dependencies
1855
- * Espresso driver has Jetpack Compose dependencies to [support Jetpack Compose](#jetpack-compose-support). It could break the application under test's dependencies. The typical case is when the application under test does not have the Jetpack Compose dependencies. Then, you can try out [no compose dependencies branch](https://github.com/appium/appium-espresso-driver/pull/879)). In Appium 2.0, the branch is available as `appium driver install --source=local /path/to/the/appium-espress-driver` with the `no-compose-deps` branch instead of npm installation.
1856
1860
 
1857
1861
 
1858
1862
  ## Contributing
@@ -1,2 +1,2 @@
1
- #Sat May 23 18:58:58 UTC 2026
1
+ #Fri Jun 19 05:54:14 UTC 2026
2
2
  gradle.version=9.5.1
@@ -3,7 +3,7 @@ androidGradlePlugin = "9.2.1"
3
3
  kotlin = "2.3.21"
4
4
  androidxTest = "1.7.0"
5
5
  annotation = "1.10.0"
6
- composeUiTest = "1.11.2"
6
+ composeUiTest = "1.11.3"
7
7
  gson = "2.14.0"
8
8
  espresso = "3.7.0"
9
9
  nanohttpd = "2.3.1"
@@ -2,6 +2,6 @@ package io.appium.espressoserver.lib.helpers
2
2
 
3
3
  // This value is updated automatically by the NPM versioning script
4
4
  // It should be in sync with the NPM module version from package.json
5
- private const val VERSION = "8.5.6"
5
+ private const val VERSION = "8.6.1"
6
6
 
7
7
  fun getEspressoServerVersion() = VERSION