版本 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 将包含版本信息。
我有一个 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 将包含版本信息。