如何自动化android的升级测试

Sug*_*gre 14 junit android automated-tests android-testing android-espresso

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

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

  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;
Run Code Online (Sandbox Code Playgroud)

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

但是,adb命令的这个3步测试看起来很愚蠢,我们无法轻易获得junit报告.

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

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

提前致谢.

tes*_*ngh 0

如果您确定拥有最新的软件包,则可以从设备中卸载现有的软件包:

adb uninstall <your-package-name>
Run Code Online (Sandbox Code Playgroud)

然后你就可以安装最新的 apk 安装并运行测试。

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