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.

Reply via email to