14

我们一直在使用 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;

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

但是,adb 命令的这个 3 步测试看起来很愚蠢,而且我们不能轻易得到 junit 报告。

那么有没有人知道进行android升级测试的更好更简单的方法,或者你能指出我们做错了什么吗?

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

提前致谢。

4

1 回答 1

0

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

adb uninstall <your-package-name>

然后您可以使用最新的 apk 安装来安装和运行测试。

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

于 2016-04-13T13:39:22.167 回答