14

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;

テスト内で新しいバージョンをインストールできるかどうか (およびその方法) がわからないため、特定のバージョンからのアップグレード テストを前/後の 2 つの部分に分割します。

しかし、この adb コマンドによる 3 ステップのテストはばかげているように見え、junit レポートを簡単に取得することはできません。

Android のアップグレード テストを実行するためのより簡単な方法を知っている人はいますか?それとも、私たちが間違っていることを指摘してもらえますか?

Espresso に限らず、他のフレームワークを使用している場合、どのようにアップグレード テストを行うのですか?

前もって感謝します。

4

1 に答える 1

0

最新のパッケージを入手したことが確実な場合は、デバイスから既存のパッケージをアンインストールできます。

adb uninstall <your-package-name>

その後、最新の apk install を使用してテストをインストールして実行できます。

もう 1 つの方法は、Gradle を使用することです。これは、以前のビルド以降にコードが変更されているかどうかを常にチェックし、最新のものをアンインストールして再インストールします。テストのビルドと実行に gradle を使用していませんか?

于 2016-04-13T13:39:22.167 に答える