我们一直在使用Espresso进行Android自动化测试,其中包括升级测试。
对于升级测试,我们需要执行以下三个步骤:
- 在旧版本中执行一些操作以准备一些数据
- 升级到新版本(覆盖安装)
- 检查旧版本中保存的数据是否正确保留,并且在升级后没有其他问题。
目前,我们正在以非常笨拙的方式执行这些步骤:
#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;
我们将升级测试从某个版本分成了前后两部分,因为我们不知道是否能够(以及如何)在测试中安装新版本。
但是,这个通过adb命令的3步测试看起来很愚蠢,我们不能轻松地获得一个junit报告。
那么,有没有人知道更好、更容易的方法来进行Android升级测试,或者你能指出我们做错了什么?
这不仅限于Espresso,如果你正在使用其他框架,你如何进行升级测试?
提前致谢。