Как попросить gradlew удалить приложение перед выполнением теста? - PullRequest
0 голосов
/ 02 марта 2019

Я использую это решение , чтобы настроить Android Studio на uninstall предыдущее приложение, прежде чем оно выполнит Espresso тесты.

Итак, в Run -> Edit Configurations -> Before launch и затем добавили :app:uninstallAll, поэтому, когда я запускаю свой тестовый набор из AS, я выбираю только конфигурацию, и она хорошо работает.

enter image description here

Я использую ./gradlew connectedAndroidTest, чтобы выполнить тест эспрессо из командной строки.Но мне интересно,

Как я могу попросить командную строку gradle удалить предыдущую версию перед выполнением теста?

Ответы [ 2 ]

0 голосов
/ 02 марта 2019

вы не можете запросить командную строку Gradle - но Gradle может запросить приглашение командной строки.

на основе этого ответа здесь , можно легко создать желаемое удаление приложения Exec задача:

task uninstallApp(type: Exec) {
    def uninstallCommand = ['adb', 'shell', 'pm', 'uninstall', 'com.acme.coyote']
    commandLine uninstallCommand
}

эта задача может быть добавлена ​​либо с task.finalizedBy, либо с task.dependsOn.

также смотрите этот ответ моего, которыйобъясняет, как обращаться с общими настройками ...

потому что, когда эти настройки восстанавливаются из резервной копии;это не новая установка.

0 голосов
/ 02 марта 2019

Вы можете использовать adb для удаления примера предыдущей версии:

unistall old apk

adb -s $device uninstall ${packageName}.debug

тест на удаление

adb -s $device uninstall "com.bookings.test"

устройство - подключенное устройство packageName - имя пакетаприложения.

Надеюсь, это поможет:)

...