版本 UIAutomator 测试包

Version UIAutomator test package

我有一个 UIAutomator 测试,它与 OS 交互以自动执行一些我无法从 ADB 或其他应用程序执行的任务。有时我会发布新版本的测试。我计划使用 adb shell dumpsys package my.package.test | grep versionName 从测试应用程序解析版本,并在必要时更新它。

但是,我的 UIAutomator 测试似乎 dumpsys package returns versionName=null(使用与 sample 几乎相同的 gradle 脚本构建) .

现在我只是在每次需要时覆盖测试。有什么方法可以在 UIAutomator 测试 APK 中嵌入版本信息吗?

测试APK生成的默认manifest中没有版本信息,那你要引入。

1.

将此添加到您的 build.gradle:

defaultConfig {
        manifestPlaceholders = [ versionName:versionName, versionCode:versionCode]
}

2.

将您的主要 AndroidManifest.xml 复制到 src/androidTest

3.

编辑测试清单

<!--suppress AndroidDomInspection -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="your.package.name"
    android:versionCode="${versionCode}"
    android:versionName="${versionName}"
    >
    <application
        tools:node="remove"
        ... >
    </application>
</manifest>

4.

重建后,您的测试 APK 将包含版本信息。