Bu dokümantasyonda - https://developer.android.com/studio/test/command-line.html#AMOptionsSyntax kod kayıt sonuçlarını Firebase laboratuvarından almak mümkündür. Firebase-community.slack.com adresindeki # test-lab'deki bazı kişiler çalışmayı başarabiliyorlar, ancak birkaç denemeden sonra hala duvara çarpıyorum.Android için google Firebase'den kod kapsama raporları nasıl alınır? Espresso testleri
'u takip ederek jacaco ve emma'nın birleşik kod kapsamı raporunu alabilmem için yerel kurulumumda yanlış bir şey yok, ancak gcloud cmd satırına argüman vermeye çalışırken sorunlu olduğunu ve kapsama numaralarını sormayı sorun emma kapsama alanı. Ben yerel ben kapsama raporun oluşturulmasını bekliyorumgcloud beta test android run \
--type instrumentation \
--app app/build/outputs/apk/*-debug-unaligned.apk \
--test app/build/outputs/apk/*-debug-androidTest-unaligned.apk \
--device-ids Nexus6\
--os-version-ids 22 \
--locales en \
--orientations portrait \
--environment-variables coverage=true,coverageFile="/sdcard/coverage.ec" \
--directories-to-pull=/sdcard
bu komutu çalıştırmak ancak
Esasen, ben
INSTRUMENTATION_STATUS: numtests=1
INSTRUMENTATION_STATUS: stream=
com.godaddy.gdm.telephony.uitests.DialerTabTest:
INSTRUMENTATION_STATUS: id=AndroidJUnitRunner
INSTRUMENTATION_STATUS: test=dialerTabNumberFormattingTest
INSTRUMENTATION_STATUS: current=1
INSTRUMENTATION_STATUS_CODE: 1
INSTRUMENTATION_STATUS: numtests=1
INSTRUMENTATION_STATUS: stream=.
INSTRUMENTATION_STATUS: id=AndroidJUnitRunner
INSTRUMENTATION_STATUS: test=dialerTabNumberFormattingTest
INSTRUMENTATION_STATUS: current=1
INSTRUMENTATION_STATUS_CODE: 0
INSTRUMENTATION_RESULT: stream=
Time: 6.022
OK (1 test)
Error: **Failed to generate emma coverage.**
INSTRUMENTATION_CODE: -1
dosya instruments.results bu olsun Ve logcat bu diyor ki:
11-18 21:38:39.400: I/TestRunner(5246): run finished: 1 tests, 0 failed, 0 ignored
11-18 21:38:39.400: I/TestRunner(5246): [ 11-18 21:38:39.400 5246: 5263 E/ ]
11-18 21:38:39.400: I/TestRunner(5246): Failed to generate emma coverage.
11-18 21:38:39.400: I/TestRunner(5246): java.lang.reflect.InvocationTargetException
11-18 21:38:39.400: I/TestRunner(5246): at java.lang.reflect.Method.invoke(Native Method)
11-18 21:38:39.400: I/TestRunner(5246): at java.lang.reflect.Method.invoke(Method.java:372)
11-18 21:38:39.400: I/TestRunner(5246): at android.support.test.internal.runner.listener.CoverageListener.generateCoverageReport(CoverageListener.java:80)
11-18 21:38:39.400: I/TestRunner(5246): at android.support.test.internal.runner.listener.CoverageListener.instrumentationRunFinished(CoverageListener.java:68)
11-18 21:38:39.400: I/TestRunner(5246): at android.support.test.internal.runner.TestExecutor.reportRunEnded(TestExecutor.java:94)
11-18 21:38:39.400: I/TestRunner(5246): at android.support.test.internal.runner.TestExecutor.execute(TestExecutor.java:69)
11-18 21:38:39.400: I/TestRunner(5246): at android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:262)
11-18 21:38:39.400: I/TestRunner(5246): at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1853)
11-18 21:38:39.400: I/TestRunner(5246): Caused by: java.io.FileNotFoundException: /sdcard/coverage.ec: open failed: EACCES (Permission denied)
11-18 21:38:39.400: I/TestRunner(5246): at libcore.io.IoBridge.open(IoBridge.java:456)
11-18 21:38:39.400: I/TestRunner(5246): at java.io.FileOutputStream.<init>(FileOutputStream.java:87)
11-18 21:38:39.400: I/TestRunner(5246): at com.vladium.emma.rt.RT.dumpCoverageData(RT.java:50)
11-18 21:38:39.400: I/TestRunner(5246): ... 8 more
11-18 21:38:39.400: I/TestRunner(5246): Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)
11-18 21:38:39.400: I/TestRunner(5246): at libcore.io.Posix.open(Native Method)
11-18 21:38:39.400: I/TestRunner(5246): at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
11-18 21:38:39.400: I/TestRunner(5246): at libcore.io.IoBridge.open(IoBridge.java:442)
11-18 21:38:39.400: I/TestRunner(5246): ... 10 more
Gerekirse daha fazla bilgi verebilirim.
nasıl Kod kapsamı dosyasını yerel makinenize mi alıyorsunuz? – spierce7
Genellikle app/build/outputs//jacoco/coverage.ec dosyasındadır. Tam olarak, proje klasörünüzde –
satyajit
sağdaki "scope.ec" için bir arama yapmayı deneyin, ancak bunu firebase ile çalıştırdığınızda yerel makinenizde olmayacak, değil mi? Firebase'inizi yerel makinenize nasıl çıkarabileceğinizi soruyorum. – spierce7