How to run Android UI tests on virtual devices

test
build-cache
ui
android

#42

Thanks for replying.

Here’s my current settings:

Environment Variables:

coverage=true
coverageFile=/sdcard/coverage.instrumentaltests

Directories to pull:

/sdcard

And I can see the coverage file downloaded, found and uploaded by the codecov script. But in codecov.io the coverage on the relevant classes are still zero. Could you suggest where should I start investigating?


#43

If you’re using android test orchestrator, there’s a known bug that breaks coverage generation. Otherwise it should work.

Make sure your build.gradle is configured correctly for jacoco coverage and using the latest versions.


#44

After some further investigation I found that codecov can’t process the coverage.ec generated by instrument tests. When I turn it into an xml report, codecov can update the coverage correctly.

But instrument tests only seems to generate the .ec file, not the .em, so I can’t convert with ‘emma report’. Well, anyways, it’s beyond bitrise’s power. I appreciate your great work.


#45

Use jacoco, not emma. Jacoco can output different types of reports.


#46

OK, I got a report with java -jar jacococli.jar report, finally! Thank you so much for your help!


#47

Thanks for the tutorial.

I have about 5 different modules all containing instrumentation tests. How can I configure this with bitrise? Wouldn’t I need to specifiy 5 different apks for each module?


#48

@PaulWoitaschek right now, with our built in Virtual Device Testing feature you can only run instrumentation tests for a single APK per build.

Feel free to create a #feature-request, or register the apps as separate apps on bitrise.io (you can register the same repo multiple times), or use Firebase TestLab directly via scripts (How-to run Android tests on Firebase TestLab).

If you’d have any questions just let us know! :wink:


#49

Hi, I have a project which has multiple modules containing the UI tests. I want to test them all. However, when I install the apk generated by assembleDebugAndroidTest and run virtual device test, I run tests from the app module only. Can you help me with this?


#50

Hi @kevalpatel2106,

Does the build generate multiple APKs? If it does, then please see my reply above :point_up_2: How to run Android UI tests on virtual devices

If not, then please create an issue report with the build’s URL, so that we can look into it (https://discuss.bitrise.io/c/issues/build-issues)


#51

My tests are failing on virtual device as the location is not enabled. All my tests uses espresso api’s and to over come this I am running UI automator calls to enable the location whenever the location dialog is reported. But no luck. Is there anyway to get rid of this. ? Thanks in advance


#52

Hello @ns.mesta!
Could you please write to us on the on-site chat, send a build url and please enable support user on the app?