Мы использовали эспрессо для автоматизации андроида и включаем тестирование обновлений
Для тестирования обновлений нам необходимо выполнить 3 этапа:
- Сделайте несколько действий в старой версии, чтобы подготовить некоторые данные.
- Обновление до новой версии (обложка)
- Проверьте, что данные, сохраненные в старой версии, сохранены правильно, а после обновления нет другой проблемы.
В настоящее время мы делаем это очень неуклюже:
#Before: prepare data on old version
adb -s $DEVICE shell am instrument -e class com.example.test.upgrade.UpgradeTest#prepareDataIn${version} -w com.example.test/com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner;
#install new version
adb -s $DEVICE install -r new_version.apk;
#After: test after upgrading
adb -s $DEVICE shell am instrument -e class com.example.test.upgrade.UpgradeTest#testUpgradeFrom${version} -w com.example.test/com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner;
Мы разорвали тест обновления с определенной версии на до/после 2 частей, потому что мы не знаем, можем ли мы (и как) установить новую версию внутри теста.
Но этот трехэтапный тест командой adb выглядит глупо, и мы не можем легко получить отчет junit.
Знает ли кто-нибудь более простой способ выполнить тестирование обновления Android, или вы могли бы указать, что мы делаем неправильно?
Он не ограничивается Espresso, если вы работаете с другими фреймворками, как вы можете выполнить тест обновления с ним?
Спасибо заранее.