appium-espresso-driver 8.5.1 → 8.5.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 +6 -0
- package/build/lib/commands/app-install.d.ts +5 -1
- package/build/lib/commands/app-install.d.ts.map +1 -1
- package/build/lib/commands/app-install.js +8 -2
- package/build/lib/commands/app-install.js.map +1 -1
- package/build/lib/utils/index.d.ts +3 -3
- package/build/lib/utils/index.d.ts.map +1 -1
- package/build/lib/utils/index.js +10 -17
- package/build/lib/utils/index.js.map +1 -1
- package/espresso-server/app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk +0 -0
- package/espresso-server/app/build.gradle.kts +10 -8
- package/espresso-server/buildSrc/.gradle/9.5.1/executionHistory/executionHistory.bin +0 -0
- package/espresso-server/buildSrc/.gradle/9.5.1/executionHistory/executionHistory.lock +0 -0
- package/espresso-server/buildSrc/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/espresso-server/buildSrc/.gradle/buildOutputCleanup/cache.properties +1 -1
- package/espresso-server/buildSrc/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/espresso-server/buildSrc/.gradle/file-system.probe +0 -0
- package/espresso-server/buildSrc/build/classes/kotlin/main/io/appium/espressoserver/gradle/CapabilityVersionKt$withCapabilityVersion$1.class +0 -0
- package/espresso-server/buildSrc/build/classes/kotlin/main/io/appium/espressoserver/gradle/CapabilityVersionKt.class +0 -0
- package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
- package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
- package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
- package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
- package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
- package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
- package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
- package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
- package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
- package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
- package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
- package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
- package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
- package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
- package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
- package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
- package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
- package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
- package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/last-build.bin +0 -0
- package/espresso-server/buildSrc/build/kotlin/compileKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
- package/espresso-server/buildSrc/build/libs/buildSrc.jar +0 -0
- package/espresso-server/buildSrc/src/main/kotlin/io/appium/espressoserver/gradle/CapabilityVersion.kt +12 -0
- package/espresso-server/gradle/libs.versions.toml +20 -0
- package/espresso-server/gradle.properties +1 -1
- package/espresso-server/library/build.gradle.kts +55 -32
- package/espresso-server/library/src/main/java/io/appium/espressoserver/lib/helpers/Version.kt +1 -1
- package/lib/commands/app-install.ts +14 -2
- package/lib/utils/index.ts +3 -3
- package/npm-shrinkwrap.json +8 -8
- package/package.json +1 -1
- package/build/lib/commands/app.d.ts +0 -8
- package/build/lib/commands/app.d.ts.map +0 -1
- package/build/lib/commands/app.js +0 -11
- package/build/lib/commands/app.js.map +0 -1
- package/lib/commands/app.ts +0 -14
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## [8.5.2](https://github.com/appium/appium-espresso-driver/compare/v8.5.1...v8.5.2) (2026-05-23)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* Kotlin dependencies resolution by dependabot ([#1165](https://github.com/appium/appium-espresso-driver/issues/1165)) ([b109b3d](https://github.com/appium/appium-espresso-driver/commit/b109b3d3bcf7b533adcb94331aeb4e4cd01d9621))
|
|
6
|
+
|
|
1
7
|
## [8.5.1](https://github.com/appium/appium-espresso-driver/compare/v8.5.0...v8.5.1) (2026-05-21)
|
|
2
8
|
|
|
3
9
|
### Miscellaneous Chores
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import type { PostProcessOptions, PostProcessResult } from '@appium/types';
|
|
1
|
+
import type { PostProcessOptions, PostProcessResult, CachedAppInfo } from '@appium/types';
|
|
2
2
|
import type { EspressoDriver } from '../driver';
|
|
3
3
|
export declare const APK_EXT = ".apk";
|
|
4
4
|
export declare const AAB_EXT = ".aab";
|
|
5
5
|
export declare const SUPPORTED_EXTENSIONS: string[];
|
|
6
|
+
/** Cached app entry with integrity path (narrower than {@link CachedAppInfo}). */
|
|
7
|
+
export type StrictCachedAppInfo = CachedAppInfo & {
|
|
8
|
+
fullPath: string;
|
|
9
|
+
};
|
|
6
10
|
/** Whether the session targets an app already installed on the device (no app path). */
|
|
7
11
|
export declare function isAppOnDevice(driver: EspressoDriver): boolean;
|
|
8
12
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-install.d.ts","sourceRoot":"","sources":["../../../lib/commands/app-install.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAE,iBAAiB,EAAC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"app-install.d.ts","sourceRoot":"","sources":["../../../lib/commands/app-install.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAC,MAAM,eAAe,CAAC;AAKxF,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,WAAW,CAAC;AAI9C,eAAO,MAAM,OAAO,SAAS,CAAC;AAC9B,eAAO,MAAM,OAAO,SAAS,CAAC;AAC9B,eAAO,MAAM,oBAAoB,UAAqB,CAAC;AAEvD,kFAAkF;AAClF,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CAAC;AAErE,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAG7D;AAED;;;;;;;GAOG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAuBrF;AAED,mFAAmF;AACnF,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAiExC;AAED,wDAAwD;AACxD,wBAAsB,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAoDjE"}
|
|
@@ -12,8 +12,8 @@ const appium_android_driver_1 = require("appium-android-driver");
|
|
|
12
12
|
const support_1 = require("appium/support");
|
|
13
13
|
const io_appium_settings_1 = require("io.appium.settings");
|
|
14
14
|
const node_path_1 = __importDefault(require("node:path"));
|
|
15
|
-
const app_1 = require("./app");
|
|
16
15
|
const server_1 = require("./server");
|
|
16
|
+
const utils_1 = require("../utils");
|
|
17
17
|
exports.APK_EXT = '.apk';
|
|
18
18
|
exports.AAB_EXT = '.aab';
|
|
19
19
|
exports.SUPPORTED_EXTENSIONS = [exports.APK_EXT, exports.AAB_EXT];
|
|
@@ -69,7 +69,7 @@ async function onPostConfigureApp(opts) {
|
|
|
69
69
|
const extractUniversalApk = async (shouldExtract, p) => shouldExtract ? p : await this.adb.extractUniversalApk(p);
|
|
70
70
|
let pathInCache = null;
|
|
71
71
|
let isResultAppPathAlreadyCached = false;
|
|
72
|
-
if (
|
|
72
|
+
if (isCachedAppInfo(cachedAppInfo)) {
|
|
73
73
|
const packageHash = await support_1.fs.hash(appPath);
|
|
74
74
|
if (packageHash === cachedAppInfo.packageHash && (await support_1.fs.exists(cachedAppInfo.fullPath))) {
|
|
75
75
|
this.log.info(`Using '${cachedAppInfo.fullPath}' which is cached from '${appPath}'`);
|
|
@@ -154,4 +154,10 @@ async function initAUT() {
|
|
|
154
154
|
this.log.warn(`Cannot add server packages to the Doze whitelist. Original error: ` + (stderr || message));
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
|
+
/** Type guard for cached app metadata shape. */
|
|
158
|
+
function isCachedAppInfo(value) {
|
|
159
|
+
return ((0, utils_1.isPlainObject)(value) &&
|
|
160
|
+
typeof value.packageHash === 'string' &&
|
|
161
|
+
typeof value.fullPath === 'string');
|
|
162
|
+
}
|
|
157
163
|
//# sourceMappingURL=app-install.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-install.js","sourceRoot":"","sources":["../../../lib/commands/app-install.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"app-install.js","sourceRoot":"","sources":["../../../lib/commands/app-install.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
1
|
+
export { qualifyActivityName } from './app';
|
|
2
|
+
export { getPackageInfo, getPackageInfoSync } from './package';
|
|
3
|
+
export { isPlainObject, isEmptyValue, escapeRegExp } from './predicates';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/utils/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAC,cAAc,EAAE,kBAAkB,EAAC,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAC,aAAa,EAAE,YAAY,EAAE,YAAY,EAAC,MAAM,cAAc,CAAC"}
|
package/build/lib/utils/index.js
CHANGED
|
@@ -1,20 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
3
|
+
exports.escapeRegExp = exports.isEmptyValue = exports.isPlainObject = exports.getPackageInfoSync = exports.getPackageInfo = exports.qualifyActivityName = void 0;
|
|
4
|
+
var app_1 = require("./app");
|
|
5
|
+
Object.defineProperty(exports, "qualifyActivityName", { enumerable: true, get: function () { return app_1.qualifyActivityName; } });
|
|
6
|
+
var package_1 = require("./package");
|
|
7
|
+
Object.defineProperty(exports, "getPackageInfo", { enumerable: true, get: function () { return package_1.getPackageInfo; } });
|
|
8
|
+
Object.defineProperty(exports, "getPackageInfoSync", { enumerable: true, get: function () { return package_1.getPackageInfoSync; } });
|
|
9
|
+
var predicates_1 = require("./predicates");
|
|
10
|
+
Object.defineProperty(exports, "isPlainObject", { enumerable: true, get: function () { return predicates_1.isPlainObject; } });
|
|
11
|
+
Object.defineProperty(exports, "isEmptyValue", { enumerable: true, get: function () { return predicates_1.isEmptyValue; } });
|
|
12
|
+
Object.defineProperty(exports, "escapeRegExp", { enumerable: true, get: function () { return predicates_1.escapeRegExp; } });
|
|
20
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/utils/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/utils/index.ts"],"names":[],"mappings":";;;AAAA,6BAA0C;AAAlC,0GAAA,mBAAmB,OAAA;AAC3B,qCAA6D;AAArD,yGAAA,cAAc,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAC1C,2CAAuE;AAA/D,2GAAA,aAAa,OAAA;AAAE,0GAAA,YAAY,OAAA;AAAE,0GAAA,YAAY,OAAA"}
|
|
Binary file
|
|
@@ -2,7 +2,7 @@ plugins {
|
|
|
2
2
|
alias(libs.plugins.android.application)
|
|
3
3
|
}
|
|
4
4
|
|
|
5
|
-
import io.appium.espressoserver.gradle.
|
|
5
|
+
import io.appium.espressoserver.gradle.withCapabilityVersion
|
|
6
6
|
import io.appium.espressoserver.jvmtarget.AppiumJvmTarget
|
|
7
7
|
import org.gradle.api.GradleException
|
|
8
8
|
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
|
@@ -19,10 +19,6 @@ val appiumJvmTarget: String by project
|
|
|
19
19
|
val useComposeLibrary: Boolean =
|
|
20
20
|
(findProperty("appiumComposeSupport") as String?)?.equals("false", ignoreCase = true) != true
|
|
21
21
|
|
|
22
|
-
// Align androidTest dependency versions with :library when Espresso driver passes -PappiumJUnitVersion / -PappiumAndroidxTestVersion.
|
|
23
|
-
val junitVersion = resolveCapabilityVersion("appiumJUnitVersion", libs.versions.junit.get())
|
|
24
|
-
val androidxTestVersion = resolveCapabilityVersion("appiumAndroidxTestVersion", libs.versions.androidxTest.get())
|
|
25
|
-
|
|
26
22
|
android {
|
|
27
23
|
compileSdk = appiumCompileSdk.toInt()
|
|
28
24
|
buildToolsVersion = appiumBuildTools
|
|
@@ -102,9 +98,15 @@ kotlin {
|
|
|
102
98
|
|
|
103
99
|
dependencies {
|
|
104
100
|
androidTestImplementation(project(":library"))
|
|
105
|
-
androidTestImplementation(
|
|
106
|
-
|
|
107
|
-
|
|
101
|
+
androidTestImplementation(libs.junit) {
|
|
102
|
+
withCapabilityVersion(project, "appiumJUnitVersion", libs.versions.junit.get())
|
|
103
|
+
}
|
|
104
|
+
androidTestImplementation(libs.androidx.test.core) {
|
|
105
|
+
withCapabilityVersion(project, "appiumAndroidxTestVersion", libs.versions.androidxTest.get())
|
|
106
|
+
}
|
|
107
|
+
androidTestImplementation(libs.androidx.test.runner) {
|
|
108
|
+
withCapabilityVersion(project, "appiumAndroidxTestVersion", libs.versions.androidxTest.get())
|
|
109
|
+
}
|
|
108
110
|
|
|
109
111
|
// additionalAndroidTestDependencies placeholder (don't change or delete this line)
|
|
110
112
|
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
#
|
|
1
|
+
#Sat May 23 08:42:33 UTC 2026
|
|
2
2
|
gradle.version=9.5.1
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/espresso-server/buildSrc/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
package io.appium.espressoserver.gradle
|
|
2
2
|
|
|
3
3
|
import org.gradle.api.Project
|
|
4
|
+
import org.gradle.api.artifacts.ExternalModuleDependency
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Resolves a dependency version from an optional Gradle property (e.g. `-PappiumKotlin=…` from the
|
|
@@ -10,3 +11,14 @@ fun Project.resolveCapabilityVersion(propertyName: String, catalogDefaultVersion
|
|
|
10
11
|
val fromCapability = findProperty(propertyName)?.toString()?.trim()
|
|
11
12
|
return if (!fromCapability.isNullOrEmpty()) fromCapability else catalogDefaultVersion
|
|
12
13
|
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Applies a resolved capability version to a version-catalog dependency so `-Pappium*` overrides still work.
|
|
17
|
+
*/
|
|
18
|
+
fun ExternalModuleDependency.withCapabilityVersion(
|
|
19
|
+
project: Project,
|
|
20
|
+
propertyName: String,
|
|
21
|
+
catalogDefaultVersion: String,
|
|
22
|
+
) {
|
|
23
|
+
version { require(project.resolveCapabilityVersion(propertyName, catalogDefaultVersion)) }
|
|
24
|
+
}
|
|
@@ -11,6 +11,26 @@ robolectric = "4.9.2"
|
|
|
11
11
|
junit = "4.13.2"
|
|
12
12
|
uiautomator = "2.2.0"
|
|
13
13
|
|
|
14
|
+
[libraries]
|
|
15
|
+
androidx-annotation = { group = "androidx.annotation", name = "annotation", version.ref = "annotation" }
|
|
16
|
+
androidx-test-core = { group = "androidx.test", name = "core", version.ref = "androidxTest" }
|
|
17
|
+
androidx-test-runner = { group = "androidx.test", name = "runner", version.ref = "androidxTest" }
|
|
18
|
+
androidx-test-rules = { group = "androidx.test", name = "rules", version.ref = "androidxTest" }
|
|
19
|
+
androidx-test-espresso-contrib = { group = "androidx.test.espresso", name = "espresso-contrib", version.ref = "espresso" }
|
|
20
|
+
androidx-test-espresso-web = { group = "androidx.test.espresso", name = "espresso-web", version.ref = "espresso" }
|
|
21
|
+
androidx-test-uiautomator = { group = "androidx.test.uiautomator", name = "uiautomator", version.ref = "uiautomator" }
|
|
22
|
+
androidx-compose-ui-test = { group = "androidx.compose.ui", name = "ui-test", version.ref = "composeUiTest" }
|
|
23
|
+
androidx-compose-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4", version.ref = "composeUiTest" }
|
|
24
|
+
gson = { group = "com.google.code.gson", name = "gson", version.ref = "gson" }
|
|
25
|
+
nanohttpd-webserver = { group = "org.nanohttpd", name = "nanohttpd-webserver", version.ref = "nanohttpd" }
|
|
26
|
+
kotlin-stdlib = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib", version.ref = "kotlin" }
|
|
27
|
+
kotlin-reflect = { group = "org.jetbrains.kotlin", name = "kotlin-reflect", version.ref = "kotlin" }
|
|
28
|
+
kotlin-stdlib-jdk8 = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib-jdk8", version.ref = "kotlin" }
|
|
29
|
+
kotlin-test = { group = "org.jetbrains.kotlin", name = "kotlin-test", version.ref = "kotlin" }
|
|
30
|
+
kotlin-test-junit = { group = "org.jetbrains.kotlin", name = "kotlin-test-junit", version.ref = "kotlin" }
|
|
31
|
+
junit = { group = "junit", name = "junit", version.ref = "junit" }
|
|
32
|
+
robolectric = { group = "org.robolectric", name = "robolectric", version.ref = "robolectric" }
|
|
33
|
+
|
|
14
34
|
[plugins]
|
|
15
35
|
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }
|
|
16
36
|
android-library = { id = "com.android.library", version.ref = "androidGradlePlugin" }
|
|
@@ -34,4 +34,4 @@ appiumSourceCompatibility=VERSION_1_8
|
|
|
34
34
|
appiumTargetCompatibility=VERSION_1_8
|
|
35
35
|
appiumJvmTarget=1.8
|
|
36
36
|
|
|
37
|
-
# Dependency and plugin versions
|
|
37
|
+
# Dependency and plugin versions (catalog [libraries]/[plugins]) live in gradle/libs.versions.toml
|
|
@@ -4,6 +4,7 @@ plugins {
|
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
import io.appium.espressoserver.gradle.resolveCapabilityVersion
|
|
7
|
+
import io.appium.espressoserver.gradle.withCapabilityVersion
|
|
7
8
|
import io.appium.espressoserver.jvmtarget.AppiumJvmTarget
|
|
8
9
|
import org.gradle.api.GradleException
|
|
9
10
|
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
|
@@ -16,19 +17,6 @@ val appiumSourceCompatibility: String by project
|
|
|
16
17
|
val appiumTargetCompatibility: String by project
|
|
17
18
|
val appiumJvmTarget: String by project
|
|
18
19
|
|
|
19
|
-
// Versions: defaults from gradle/libs.versions.toml; -Pappium* overrides from Espresso driver (toolsVersions / capabilities).
|
|
20
|
-
val kotlinVersion = resolveCapabilityVersion("appiumKotlin", libs.versions.kotlin.get())
|
|
21
|
-
val annotationVersion = resolveCapabilityVersion("appiumAnnotationVersion", libs.versions.annotation.get())
|
|
22
|
-
val composeUiTestVersion =
|
|
23
|
-
resolveCapabilityVersion("appiumComposeVersion", libs.versions.composeUiTest.get())
|
|
24
|
-
val gsonVersion = resolveCapabilityVersion("appiumGsonVersion", libs.versions.gson.get())
|
|
25
|
-
val espressoVersion = resolveCapabilityVersion("appiumEspressoVersion", libs.versions.espresso.get())
|
|
26
|
-
val nanohttpdVersion = resolveCapabilityVersion("appiumNanohttpdVersion", libs.versions.nanohttpd.get())
|
|
27
|
-
val androidxTestVersion = resolveCapabilityVersion("appiumAndroidxTestVersion", libs.versions.androidxTest.get())
|
|
28
|
-
val robolectricVersion = resolveCapabilityVersion("appiumRobolectricVersion", libs.versions.robolectric.get())
|
|
29
|
-
val junitVersion = resolveCapabilityVersion("appiumJUnitVersion", libs.versions.junit.get())
|
|
30
|
-
val uiautomatorVersion = resolveCapabilityVersion("appiumUiAutomatorVersion", libs.versions.uiautomator.get())
|
|
31
|
-
|
|
32
20
|
android {
|
|
33
21
|
compileSdk = appiumCompileSdk.toInt()
|
|
34
22
|
buildToolsVersion = appiumBuildTools
|
|
@@ -106,39 +94,74 @@ publishing {
|
|
|
106
94
|
dependencies {
|
|
107
95
|
// additionalAppDependencies placeholder (don't change or delete this line)
|
|
108
96
|
|
|
109
|
-
api(
|
|
110
|
-
|
|
97
|
+
api(libs.androidx.annotation) {
|
|
98
|
+
withCapabilityVersion(project, "appiumAnnotationVersion", libs.versions.annotation.get())
|
|
99
|
+
}
|
|
100
|
+
api(libs.androidx.test.espresso.contrib) {
|
|
101
|
+
withCapabilityVersion(project, "appiumEspressoVersion", libs.versions.espresso.get())
|
|
111
102
|
// Exclude transitive dependencies to limit conflicts with AndroidX libraries from AUT.
|
|
112
103
|
// Link to PR with fix and discussion https://github.com/appium/appium-espresso-driver/pull/596
|
|
113
104
|
isTransitive = false
|
|
114
105
|
}
|
|
115
|
-
api(
|
|
106
|
+
api(libs.androidx.test.espresso.web) {
|
|
107
|
+
withCapabilityVersion(project, "appiumEspressoVersion", libs.versions.espresso.get())
|
|
116
108
|
because("Espresso Web Atoms support (mobile: webAtoms)")
|
|
117
109
|
}
|
|
118
|
-
api(
|
|
110
|
+
api(libs.androidx.test.uiautomator) {
|
|
111
|
+
withCapabilityVersion(project, "appiumUiAutomatorVersion", libs.versions.uiautomator.get())
|
|
119
112
|
because("UiAutomator support (mobile: uiautomator)")
|
|
120
113
|
}
|
|
121
|
-
api(
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
api(
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
api(
|
|
128
|
-
|
|
114
|
+
api(libs.androidx.test.core) {
|
|
115
|
+
withCapabilityVersion(project, "appiumAndroidxTestVersion", libs.versions.androidxTest.get())
|
|
116
|
+
}
|
|
117
|
+
api(libs.androidx.test.runner) {
|
|
118
|
+
withCapabilityVersion(project, "appiumAndroidxTestVersion", libs.versions.androidxTest.get())
|
|
119
|
+
}
|
|
120
|
+
api(libs.androidx.test.rules) {
|
|
121
|
+
withCapabilityVersion(project, "appiumAndroidxTestVersion", libs.versions.androidxTest.get())
|
|
122
|
+
}
|
|
123
|
+
api(libs.gson) {
|
|
124
|
+
withCapabilityVersion(project, "appiumGsonVersion", libs.versions.gson.get())
|
|
125
|
+
}
|
|
126
|
+
api(libs.nanohttpd.webserver) {
|
|
127
|
+
withCapabilityVersion(project, "appiumNanohttpdVersion", libs.versions.nanohttpd.get())
|
|
128
|
+
}
|
|
129
|
+
api(libs.kotlin.stdlib) {
|
|
130
|
+
withCapabilityVersion(project, "appiumKotlin", libs.versions.kotlin.get())
|
|
131
|
+
}
|
|
132
|
+
api(libs.kotlin.reflect) {
|
|
133
|
+
withCapabilityVersion(project, "appiumKotlin", libs.versions.kotlin.get())
|
|
134
|
+
}
|
|
135
|
+
"composeOnApi"(libs.androidx.compose.ui.test) {
|
|
136
|
+
withCapabilityVersion(project, "appiumComposeVersion", libs.versions.composeUiTest.get())
|
|
129
137
|
because("Android Compose support")
|
|
130
138
|
}
|
|
131
|
-
|
|
139
|
+
"composeOnApi"(libs.androidx.compose.ui.test.junit4) {
|
|
140
|
+
withCapabilityVersion(project, "appiumComposeVersion", libs.versions.composeUiTest.get())
|
|
132
141
|
because("Android Compose support")
|
|
133
142
|
}
|
|
134
143
|
|
|
135
|
-
testImplementation(
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
testImplementation(
|
|
139
|
-
|
|
144
|
+
testImplementation(libs.androidx.test.espresso.contrib) {
|
|
145
|
+
withCapabilityVersion(project, "appiumEspressoVersion", libs.versions.espresso.get())
|
|
146
|
+
}
|
|
147
|
+
testImplementation(libs.junit) {
|
|
148
|
+
withCapabilityVersion(project, "appiumJUnitVersion", libs.versions.junit.get())
|
|
149
|
+
}
|
|
150
|
+
testImplementation(libs.robolectric) {
|
|
151
|
+
withCapabilityVersion(project, "appiumRobolectricVersion", libs.versions.robolectric.get())
|
|
152
|
+
}
|
|
153
|
+
testImplementation(libs.kotlin.test) {
|
|
154
|
+
withCapabilityVersion(project, "appiumKotlin", libs.versions.kotlin.get())
|
|
155
|
+
}
|
|
156
|
+
testImplementation(libs.kotlin.test.junit) {
|
|
157
|
+
withCapabilityVersion(project, "appiumKotlin", libs.versions.kotlin.get())
|
|
158
|
+
}
|
|
140
159
|
|
|
141
160
|
constraints {
|
|
142
|
-
api(
|
|
161
|
+
api(libs.kotlin.stdlib.jdk8) {
|
|
162
|
+
version {
|
|
163
|
+
require(resolveCapabilityVersion("appiumKotlin", libs.versions.kotlin.get()))
|
|
164
|
+
}
|
|
165
|
+
}
|
|
143
166
|
}
|
|
144
167
|
}
|
package/espresso-server/library/src/main/java/io/appium/espressoserver/lib/helpers/Version.kt
CHANGED
|
@@ -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.
|
|
5
|
+
private const val VERSION = "8.5.2"
|
|
6
6
|
|
|
7
7
|
fun getEspressoServerVersion() = VERSION
|
|
@@ -1,16 +1,19 @@
|
|
|
1
|
-
import type {PostProcessOptions, PostProcessResult} from '@appium/types';
|
|
1
|
+
import type {PostProcessOptions, PostProcessResult, CachedAppInfo} from '@appium/types';
|
|
2
2
|
import {utils} from 'appium-android-driver';
|
|
3
3
|
import {fs, tempDir, zip} from 'appium/support';
|
|
4
4
|
import {SETTINGS_HELPER_ID} from 'io.appium.settings';
|
|
5
5
|
import path from 'node:path';
|
|
6
6
|
import type {EspressoDriver} from '../driver';
|
|
7
|
-
import {isCachedAppInfo} from './app';
|
|
8
7
|
import {TEST_APK_PKG} from './server';
|
|
8
|
+
import {isPlainObject} from '../utils';
|
|
9
9
|
|
|
10
10
|
export const APK_EXT = '.apk';
|
|
11
11
|
export const AAB_EXT = '.aab';
|
|
12
12
|
export const SUPPORTED_EXTENSIONS = [APK_EXT, AAB_EXT];
|
|
13
13
|
|
|
14
|
+
/** Cached app entry with integrity path (narrower than {@link CachedAppInfo}). */
|
|
15
|
+
export type StrictCachedAppInfo = CachedAppInfo & {fullPath: string};
|
|
16
|
+
|
|
14
17
|
/** Whether the session targets an app already installed on the device (no app path). */
|
|
15
18
|
export function isAppOnDevice(driver: EspressoDriver): boolean {
|
|
16
19
|
const appPackage = driver.opts.appPackage;
|
|
@@ -175,3 +178,12 @@ export async function initAUT(this: EspressoDriver): Promise<void> {
|
|
|
175
178
|
);
|
|
176
179
|
}
|
|
177
180
|
}
|
|
181
|
+
|
|
182
|
+
/** Type guard for cached app metadata shape. */
|
|
183
|
+
function isCachedAppInfo(value: unknown): value is StrictCachedAppInfo {
|
|
184
|
+
return (
|
|
185
|
+
isPlainObject(value) &&
|
|
186
|
+
typeof value.packageHash === 'string' &&
|
|
187
|
+
typeof value.fullPath === 'string'
|
|
188
|
+
);
|
|
189
|
+
}
|
package/lib/utils/index.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
1
|
+
export {qualifyActivityName} from './app';
|
|
2
|
+
export {getPackageInfo, getPackageInfoSync} from './package';
|
|
3
|
+
export {isPlainObject, isEmptyValue, escapeRegExp} from './predicates';
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "appium-espresso-driver",
|
|
3
|
-
"version": "8.5.
|
|
3
|
+
"version": "8.5.2",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "appium-espresso-driver",
|
|
9
|
-
"version": "8.5.
|
|
9
|
+
"version": "8.5.2",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"appium-adb": "^15.0.0",
|
|
@@ -1425,9 +1425,9 @@
|
|
|
1425
1425
|
}
|
|
1426
1426
|
},
|
|
1427
1427
|
"node_modules/es-object-atoms": {
|
|
1428
|
-
"version": "1.1.
|
|
1429
|
-
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.
|
|
1430
|
-
"integrity": "sha512-
|
|
1428
|
+
"version": "1.1.2",
|
|
1429
|
+
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz",
|
|
1430
|
+
"integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==",
|
|
1431
1431
|
"license": "MIT",
|
|
1432
1432
|
"dependencies": {
|
|
1433
1433
|
"es-errors": "^1.3.0"
|
|
@@ -3022,9 +3022,9 @@
|
|
|
3022
3022
|
"optional": true
|
|
3023
3023
|
},
|
|
3024
3024
|
"node_modules/semver": {
|
|
3025
|
-
"version": "7.8.
|
|
3026
|
-
"resolved": "https://registry.npmjs.org/semver/-/semver-7.8.
|
|
3027
|
-
"integrity": "sha512-
|
|
3025
|
+
"version": "7.8.1",
|
|
3026
|
+
"resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz",
|
|
3027
|
+
"integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==",
|
|
3028
3028
|
"license": "ISC",
|
|
3029
3029
|
"bin": {
|
|
3030
3030
|
"semver": "bin/semver.js"
|
package/package.json
CHANGED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { CachedAppInfo } from '@appium/types';
|
|
2
|
-
/** Cached app entry with integrity path (narrower than {@link CachedAppInfo}). */
|
|
3
|
-
export type StrictCachedAppInfo = CachedAppInfo & {
|
|
4
|
-
fullPath: string;
|
|
5
|
-
};
|
|
6
|
-
/** Type guard for cached app metadata shape. */
|
|
7
|
-
export declare function isCachedAppInfo(value: unknown): value is StrictCachedAppInfo;
|
|
8
|
-
//# sourceMappingURL=app.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../lib/commands/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,eAAe,CAAC;AAGjD,kFAAkF;AAClF,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CAAC;AAErE,gDAAgD;AAChD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAM5E"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isCachedAppInfo = isCachedAppInfo;
|
|
4
|
-
const utils_1 = require("../utils");
|
|
5
|
-
/** Type guard for cached app metadata shape. */
|
|
6
|
-
function isCachedAppInfo(value) {
|
|
7
|
-
return ((0, utils_1.isPlainObject)(value) &&
|
|
8
|
-
typeof value.packageHash === 'string' &&
|
|
9
|
-
typeof value.fullPath === 'string');
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=app.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../lib/commands/app.ts"],"names":[],"mappings":";;AAOA,0CAMC;AAZD,oCAAuC;AAKvC,gDAAgD;AAChD,SAAgB,eAAe,CAAC,KAAc;IAC5C,OAAO,CACL,IAAA,qBAAa,EAAC,KAAK,CAAC;QACpB,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;QACrC,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CACnC,CAAC;AACJ,CAAC"}
|
package/lib/commands/app.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type {CachedAppInfo} from '@appium/types';
|
|
2
|
-
import {isPlainObject} from '../utils';
|
|
3
|
-
|
|
4
|
-
/** Cached app entry with integrity path (narrower than {@link CachedAppInfo}). */
|
|
5
|
-
export type StrictCachedAppInfo = CachedAppInfo & {fullPath: string};
|
|
6
|
-
|
|
7
|
-
/** Type guard for cached app metadata shape. */
|
|
8
|
-
export function isCachedAppInfo(value: unknown): value is StrictCachedAppInfo {
|
|
9
|
-
return (
|
|
10
|
-
isPlainObject(value) &&
|
|
11
|
-
typeof value.packageHash === 'string' &&
|
|
12
|
-
typeof value.fullPath === 'string'
|
|
13
|
-
);
|
|
14
|
-
}
|