2015-11-24 31 views
6

私は次のコマンドを使用してAndroidデバイスでのいくつかのテストを実行しています使用している場合、テスト結果を取得する方法:「adbのシェル午前楽器」

adbのシェル午前機器package.name/android -wを.test.runner.AndroidJUnitRunner

私はSTDOUTて、テストの進行状況と簡単な結果を見ることができます。しかし、このプロセスはまた、デバイス(xml、htmlなど)内に結果ファイルを生成しますか?はいの場合、それはどこに保存されていますか?

おかげ

答えて

5

しかし、このプロセスは、デバイス内部の結果ファイルを生成しません(XML、HTML、など)?

いいえ、そうではありません。

レポートの生成は、一般に 'am instrument'より上位のレイヤーで処理されます。 Gradleを使用してテストを実行すると、レポートが生成されます。私はこれがAndroid Studioにも依存していると考えています。

テスト自体からレポートを生成する必要がある場合は、カスタムテストランナーを使用できます。 http://www.stackoverflow.com/a/5574418/1999084

+0

より良い方法でテスト結果を表示する方法はありますか? Android Studioでテストを実行すると、xml、htmlなどのjunitテスト出力が生成されるため、これを尋ねています。 – Marcelo

+1

レポートの生成は、一般に 'am instrument'より上位のレイヤーで処理されるためです。 Gradleを使用してテストを実行すると、レポートが生成されます。私はこれがAndroid Studioにも依存していると考えています。 –

+1

テスト自体からレポートを生成する必要がある場合は、カスタムテストランナーを使用できます。それを行うための1つの方法については、この回答を参照してください:http://stackoverflow.com/a/5574418/1999084 –

5

私は同様の問題がありました(デバイスで計測テストを実行しているときに私のJenkinsのxmlテストレポートが必要でした)。私は "android-xml-run-listener"(https://github.com/schroepf/TestLab/tree/master/android)を実装して解決しました。

androidTestCompile 'de.schroepf:android-xml-run-listener:0.1.3' 

あなたのbuild.gradleに(! - これは本番アプリにコードを追加しませんandroidTest接頭辞に注意してください):単純に追加し、それを使用するには

追加し、それを使用する:

-e listener de.schroepf.androidxmlrunlistener.XmlRunListener 

をあなたの午前楽器コマンドに。

とXMLレポートファイルを取得するには、使用:

adb pull /storage/emulated/0/Android/data/<your-app-package-name>/files/report.xml 
+0

androidエミュレータ5.1.1デバイスで生成されたreport.xmlを見ることができません。助けてもらえますか? –

+0

hi @rupeshjainは古いアンドロイド版のように見えますが、 'emulated/0'ディレクトリは存在しません...私のために私は'/storage/sdcard/Android/data/de.schroepf.demoapp/files'を使ってアクセスしなければなりません5.xエミュレータのレポート... – toby

0

あなたがAndroidTestOrchestratorあなたのXMLテストの結果が生成され、デバイスstorage/emulated/0/odo/ディレクトリ内に保存されている使用してテストを実行している場合。そこで、彼らは使用してアクセスすることができます。これは、どこにでもドキュメントに記載されていない理由を私はよく分からない

adb pull storage/emulated/0/odo/

。 このパスは実際のデバイスでは異なる可能性があります。その結果はどこかのSDCARDに出力されると思います。

関連する問題