使用 "adb shell am instrument" 时如何检索测试结果
How to retrieve test results when using "adb shell am instrument"
我正在使用以下命令在我的 Android 设备中执行一些测试:
adb shell am instrument -w
package.name/android.test.runner.AndroidJUnitRunner
我可以通过STDOUT看到测试进度和简单的结果。但是,此过程是否还会在设备内生成结果文件(xml、html 等)?如果是,它存储在哪里?
谢谢
But, does this process also generates a results file inside the device (xml, html, etc)?
不,不是。
报告生成通常在比 'am instrument' 更高的层处理。如果您 运行 您的测试使用 Gradle,它应该会为您生成报告。我相信这也是 Android Studio 所依赖的。
如果您必须从测试本身生成报告,您可以使用自定义测试 运行ner。请参阅此答案以了解一种方法:http://www.whosebug.com/a/5574418/1999084
我遇到了类似的问题(我想在我的 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
到您的 am 仪器命令。
要检索 XML 报告文件,请使用:
adb pull /storage/emulated/0/Android/data/<your-app-package-name>/files/report.xml
如果您使用 AndroidTestOrchestrator
执行测试,您的 XML 测试结果将生成并存储在设备 storage/emulated/0/odo/
目录中。因此可以使用以下方式访问它们:
adb pull storage/emulated/0/odo/
我不确定为什么文档中的任何地方都没有提到这一点。
对于真实设备,这条路径可能会有所不同,我相信结果会输出到 SD 卡上的某个地方。
我正在使用以下命令在我的 Android 设备中执行一些测试:
adb shell am instrument -w package.name/android.test.runner.AndroidJUnitRunner
我可以通过STDOUT看到测试进度和简单的结果。但是,此过程是否还会在设备内生成结果文件(xml、html 等)?如果是,它存储在哪里?
谢谢
But, does this process also generates a results file inside the device (xml, html, etc)?
不,不是。
报告生成通常在比 'am instrument' 更高的层处理。如果您 运行 您的测试使用 Gradle,它应该会为您生成报告。我相信这也是 Android Studio 所依赖的。
如果您必须从测试本身生成报告,您可以使用自定义测试 运行ner。请参阅此答案以了解一种方法:http://www.whosebug.com/a/5574418/1999084
我遇到了类似的问题(我想在我的 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
到您的 am 仪器命令。
要检索 XML 报告文件,请使用:
adb pull /storage/emulated/0/Android/data/<your-app-package-name>/files/report.xml
如果您使用 AndroidTestOrchestrator
执行测试,您的 XML 测试结果将生成并存储在设备 storage/emulated/0/odo/
目录中。因此可以使用以下方式访问它们:
adb pull storage/emulated/0/odo/
我不确定为什么文档中的任何地方都没有提到这一点。 对于真实设备,这条路径可能会有所不同,我相信结果会输出到 SD 卡上的某个地方。