Версия тестового пакета UIAutomator

У меня есть тест UIAutomator, который взаимодействует с ОС для автоматизации некоторых задач, которые я не могу выполнить из ADB или другого приложения. Иногда выпускаю новую версию тестов. Я планировал использовать adb shell dumpsys package my.package.test | grep versionName для анализа версии из тестового приложения и при необходимости обновлять ее.

Однако оказалось, что dumpsys package возвращает versionName=null для моего теста UIAutomator (созданного с использованием сценария gradle, почти идентичного пример).

Сейчас я просто перезаписываю тест каждый раз, когда мне это нужно. Есть ли способ встроить информацию о версии в тестовый APK UIAutomator?


person Malcolm Crum    schedule 13.10.2016    source источник


Ответы (1)


В манифесте по умолчанию, сгенерированном для тестового APK, нет информации о версии, поэтому вы должны ввести ее.

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 будет содержать информацию о версии.

person Diego Torres Milano    schedule 15.10.2016