Hello guys,
Currently, I'm researching about GUI automated testing on Android and for some reason, I need a tool that can generate code coverage report from manual testing. Since Google has officially ended support android developer tools for Eclipse, I need a tool that works on Android Studio and Gradle, not ant or maven. After a long searching, I found that Jacoco and Emma mention the manual approach on the website. But unfortunately, There is not any 'up-to-date-working example' on the internet. I have tried a lot of suggesting solution, for example, this <https://groups.google.com/forum/#!searchin/jacoco/manual$20android%7Csort:date/jacoco/vx0g_6TKY8Q/0Tg3fX84CAAJ> one. It generated a coverage.exec but the file's size was only few byte (of course, Jacoco failed to generate any report from it.) Here is what I have tried: https://github.com/kindraywind/MyDummy In app/build.gradle > apply plugin: 'jacoco' > > jacoco { > toolVersion ="0.7.8+" //I did try "0.7.4+" as the suggest. > } > > task jacocoTestReport(type: JacocoReport) { … } > > In jacoco-agent.properties > destfile=/storage/sdcard/coverage.exec In app/src/main/AndroidManifest.xml > <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> In MainActivity.java > protected void onStop() > { > super.onStop(); > if(BuildConfig.DEBUG) > { > String TAG = "jacoco"; > try { > String covPath = Environment.getExternalStorageDirectory().getPath() + > "/coverage.exec"; > File coverageFile = new File(covPath); > Class<?> emmaRTClass = Class.forName("com.vladium.emma.rt.RT"); > Method dumpCoverageMethod = > emmaRTClass.getMethod("dumpCoverageData",coverageFile.getClass(), > boolean.class, boolean.class); > dumpCoverageMethod.invoke(null, coverageFile, true, false); > } catch (Exception e) { > } > > } > > } The emulator is Nexus 5 API 19 (I did try most of the versions.) The log from device > EMMA: runtime coverage data merged into [/storage/sdcard/coverage.exec] > {in 8 ms} The log after run ./gradlew jacocoTestReport > Unable to read execution data file /Users/MyDummy/app/coverage.exec I'm using OSX10.12.3 if it related. To sum up, I need to know (or any working example) how to obtain codecoverage while: - Test the app manually. - On Android application. - Which is using Gradle not Maven or Ant. - Android Studio not Eclipse. I see no way out and would really appreciate a help. Regards, -Woramet -- You received this message because you are subscribed to the Google Groups "JaCoCo and EclEmma Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jacoco/45942377-ed99-4ee6-a960-5299c46bc576%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
