【问题标题】:How to automate upgrade testing for android如何自动化安卓升级测试
【发布时间】:2024-07-26 22:40:02
【问题描述】:

我们一直在使用 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,如果你正在使用其他框架,你如何使用它进行升级测试?

提前致谢。

【问题讨论】:

  • 在过去的 2 年里是不是变得不那么笨拙了?
  • 过去 4 年现在怎么样?

标签: android junit automated-tests android-testing android-espresso


【解决方案1】:

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

adb uninstall <your-package-name>

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

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

【讨论】:

    最近更新 更多