私たちはFastlaneと組み合わせてTravis CIを使用して、私たちの自動ビルドと夜間のUI Espressoテストを行っています。インストルメンテーションテストでは、gcloudコマンドラインツールを使用してFirebase Testラボを使用しようとしています。gcloud Firebaseテストラボの取得方法CLIからテストした後のAndroid Espressoの結果は?
私はSlackに内部的に報告できるように、簡単な形式でテスト結果を得ようとしています。たとえば、いくつのテストが合格したか、失敗したか、そしてどれが成功したかなどです。
./google-cloud-sdk/bin/gcloud beta firebase test android run \
--type instrumentation \
--app ourapp/app/build/outputs/apk/mock/debug/app-mock-debug-local.apk \
--test ourapp/app/build/outputs/apk/androidTest/mock/debug/ourapp-mock-debug-androidTest.apk \
--device-ids hammerhead \
--os-version-ids 22 \
--locales en \
--orientations portrait \
--project ourappgoogleprojectid \
--timeout 15m
これは、すべての罰金のテストを実行し、このような2つのいくつかのランダムなリンクを持つGoogleのクラウドストレージバケット内生の結果へのリンクもいくつかのログを出力します。それは印刷し最終的にはその後
Raw results will be stored in your GCS bucket at [https://console.developers.google.com/storage/browser/test-lab-vx5ak1y4tt3sw-yrzyhxjh4r1r6/]
13:25:59 Test is Pending
13:26:06 Starting attempt 1
13:26:06 Test is Running
13:26:46 Logging into the device
13:26:53 Installing APK: com.ourcompany.ourapp.debug
13:27:13 Installing APK: com.ourcompany.ourapp.test
13:27:33 Running instrumentation test. Package: com.ourcompany.ourapp.test testrunner: android.support.test.runner.AndroidJUnitRunner orchestrator: false options: []
13:34:34 Instrumentation test has finished
13:34:34 Generating video
13:34:41 Retrieving performance samples
13:35:00 Retrieving test artifacts
13:35:13 Retrieving any crash results
13:35:20 Retrieving logcat
13:35:53 Done. Test time=416 (secs)
13:36:00 Test is Finished
Instrumentation testing complete.
を私が最も興味:
┌─────────┬───────────────────────────┬──────────────────────┐
│ OUTCOME │ TEST_AXIS_VALUE │ TEST_DETAILS │
├─────────┼───────────────────────────┼──────────────────────┤
│ Passed │ hammerhead-22-en-portrait │ 60 test cases passed │
└─────────┴───────────────────────────┴──────────────────────┘
しかし、私は結果の良い、実用的、簡単な概要を得ることができ、そこから他に何もありません。
は、私はそれを次のように操作を行うだけでできると思う:
をGrep/awkは/ SED /何でもそれは出力に出力したバケットのURL。しかし、そのURLにはいくつかのランダムなIDとそれ以外のものがあります。 Travisのbashスクリプトから、そのバケットにxmlファイルをダウンロードしようとします。しかし、すべてのテスト結果xmlは、テストが実行されたデバイスの名前をそれぞれのフォルダに入れています。たとえば、hammerhead-22-en-portrait
です。簡単なテストの要約を取得するためにそのような面倒。私が必要とするのは、上に印刷されたテーブルの情報だけです。
gcloud
コマンドオプションがありますか?ドキュメントは恐ろしいです。適切なxmlファイルをすぐにダウンロードするオプションや、適切な情報などで環境変数を設定するオプションがあることを期待していました。
または、そのテーブルから簡単に値を抽出する方法はありますか?
EDIT: Androidスタジオではapkを自動的にビルドしてアップロードし、Firebaseテストラボマトリックスでテストを実行する実行コンフィギュレーションの設定がサポートされています。その後、Android Studioの[実行]タブでテストレポートを取得します。ここから、これらのテスト結果をHTMLまたはXMLにエクスポートできます。そのXMLはまさに私が望むものです。 Android Studioがこれを行うために使用するツールや、コマンドラインツールを使って同じことをやり遂げる方法を誰かが知っていますか?
パーフェクト!正確に私が必要としていたものです。特に、このプロジェクトでFirebaseの請求アカウントを設定していないためです。私は何かが欠けていたに違いないことを知っていた、 '--format'フラグがトリックをしました、ありがとう! – user2274109