I have a failing test in my suite and now I am using the Android Orchestrator, but all I get is this message:
Test instrumentation process crashed. Check
com.something.something_detail.SomeActivityTest#testAddSucceeds_activityIsFinished.txt
for details
I don't know how to access that file. Any help?
You'll find them on the device under /data/data/android.support.test.orchestrator/files/
.
To get them off the device via ADB (requires debugging enabled and either a rooted device or an emulator so you have root):
adb root
adb pull /data/data/android.support.test.orchestrator/files/
Non-root, AndroidX users can use:
adb shell run-as androidx.test.orchestrator cat /data/user_de/0/androidx.test.orchestrator/files/com.pkg.name#testName.txt
My results show something slightly different than the other answers floating around SO.
Using Android Studio IDE
It seems that stock emulator images are basically rooted by default, except for images that support the Google Play Store. So try to run the failing test on a normal emulator and after you get the error I've been able to find the txt file through Android Studio's Device File Explorer tool.
Open the tool window and browse to /data/user_de/0/android.support.test.orchestrator/files/
and find your .txt file.
From here you can open the file or right-click to download it. No need to for any terminal adb root
commands, etc.
Alternate method (command line)
If you insist on using adb
and the command line then you must first:
adb root
adb pull /data/user_de/0/android.support.test.orchestrator/files/ [directory to save to]
adb unroot (optional)
Thoughts
Unfortunately if you were hoping for a stack trace or something useful in the .txt file you might be highly disappointed. All I found in my experience was something like:
INSTRUMENTATION_RESULT: shortMsg=Process crashed.
INSTRUMENTATION_CODE: 0
which of course is quite useless for debugging. :(
I'm also not sure if the file location differs for actual devices since all the other answers out there say the file is located at /data/data/...
instead of /data/user_de/...
which is what I have found for emulators.
For anyone who still stumbles upon this, this Stack Overflow answer was helpful. Pulling the files off of the emulator I was running required running adb as root first.
adb root
and then
adb pull /data/data/android.support.test.orchestrator/files/
For anyone using AndroidX Test Orchestrator, the path would change to
adb pull /data/data/androidx.test.orchestrator/files/
but, this command also found 0 files so I had to use
adb pull /data/user_de/0/androidx.test.orchestrator/