On Wednesday, January 18, 2017 at 2:56:15 PM UTC+2, Woramet muangsiri wrote:
> 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 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.gradleapply plugin: 'jacoco'
> jacoco {
> toolVersion ="0.7.8+"  //I did try "0.7.4+" as the suggest.
> }
>  
> task jacocoTestReport(type: JacocoReport) { … }
>  
> In jacoco-agent.propertiesdestfile=/storage/sdcard/coverage.exec
>  
> In app/src/main/AndroidManifest.xml<uses-permission 
> android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
>  
> In MainActivity.javaprotected 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 deviceEMMA: runtime coverage data merged into 
> [/storage/sdcard/coverage.exec] {in 8 ms}
>  
> The log after run ./gradlew jacocoTestReportUnable 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
>  



On Wednesday, January 18, 2017 at 2:56:15 PM UTC+2, Woramet muangsiri wrote:
> 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 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.gradleapply plugin: 'jacoco'
> jacoco {
> toolVersion ="0.7.8+"  //I did try "0.7.4+" as the suggest.
> }
>  
> task jacocoTestReport(type: JacocoReport) { … }
>  
> In jacoco-agent.propertiesdestfile=/storage/sdcard/coverage.exec
>  
> In app/src/main/AndroidManifest.xml<uses-permission 
> android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
>  
> In MainActivity.javaprotected 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 deviceEMMA: runtime coverage data merged into 
> [/storage/sdcard/coverage.exec] {in 8 ms}
>  
> The log after run ./gradlew jacocoTestReportUnable 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
>  

Hi Woramet,

I recently encountered the same issue. You can read my solution here:

http://curiousily.com/dev/2017/03/02/code-coverage-for-manual-android-testing.html

Write back in the comment section if you need any help. What are your interests 
regarding automated GUI testing?

-- 
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/6a8e3d56-8a91-49b1-a643-9cdb2a24ed76%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to