如何自动化进行安卓升级测试

15

我们一直在使用Espresso进行Android自动化测试,其中包括升级测试。

对于升级测试,我们需要执行以下三个步骤:

  1. 在旧版本中执行一些操作以准备一些数据
  2. 升级到新版本(覆盖安装)
  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;

我们将升级测试从某个版本分成了前后两部分,因为我们不知道是否能够(以及如何)在测试中安装新版本。

但是,这个通过adb命令的3步测试看起来很愚蠢,我们不能轻松地获得一个junit报告。

那么,有没有人知道更好、更容易的方法来进行Android升级测试,或者你能指出我们做错了什么?

这不仅限于Espresso,如果你正在使用其他框架,你如何进行升级测试?

提前致谢。


2
在过去的两年里,它变得更加灵活了吗? - TWiStErRob
1
过去4年现在怎么样? - Afzal N
过去8年怎么样?目前最好的升级测试是从0.1%作为分阶段推出开始。 ;) - Oliver Metz
1个回答

0

如果您确定已经获得了最新的软件包,那么可以从设备中卸载现有的软件包:

adb uninstall <your-package-name>

那么你可以直接安装最新的apk并运行测试。

另一种方法是使用Gradle,它将始终检查自上次构建以来是否有任何代码更改,然后卸载并重新安装最新版本,你没有使用Gradle来构建和运行测试吗?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接