Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memecahkan masalah pengujian instrumentasi di AWS Device Farm
Topik berikut mencantumkan pesan kesalahan yang terjadi selama pengunggahan pengujian Instrumentasi dan merekomendasikan solusi untuk menyelesaikan setiap kesalahan.
catatan
Untuk pertimbangan penting saat menggunakan pengujian Instrumentasi di AWS Device Farm, lihatInstrumentasi untuk Android dan AWS Device Farm.
Kesalahan unggah
Kesalahan berikut dapat terjadi saat Anda mengunggah tes Instrumentasi Anda.
INSTRUMENTATION_TEST_PACKAGE_UNZIP_FAILED
Jika Anda melihat pesan berikut, ikuti langkah-langkah ini untuk memperbaiki masalah.
Warning: We could not open your test APK file. Please verify that the file is valid and try again.
Pastikan Anda dapat membuka zip paket pengujian tanpa kesalahan. Dalam contoh berikut, nama paket adalah app- Test-unaligned.apk debug-android.
Salin paket pengujian Anda ke direktori kerja Anda, lalu jalankan perintah berikut:
$ unzip app-debug-androidTest-unaligned.apkSetelah Anda berhasil unzip paket, Anda dapat menemukan struktur pohon direktori kerja dengan menjalankan perintah berikut:
$ tree .Paket uji Instrumentasi yang valid akan menghasilkan output seperti berikut:
. |-- AndroidManifest.xml |-- classes.dex |-- resources.arsc |-- LICENSE-junit.txt |-- junit (directory) `-- META-INF (directory)Untuk informasi selengkapnya, lihat Instrumentasi untuk Android dan AWS Device Farm.
INSTRUMENTATION_TEST_PACKAGE_AAPT_DEBUG_BADGING_FAILED
Jika Anda melihat pesan berikut, ikuti langkah-langkah ini untuk memperbaiki masalah.
We could not extract information about your test package. Please verify that the test package is valid by running the command "aapt debug badging <path to your test package>", and try again after the command does not print any error.
Selama proses validasi upload, Device Farm mengurai informasi dari output aapt debug badging <path to your package> perintah.
Pastikan Anda dapat menjalankan perintah ini pada paket pengujian Instrumentasi Anda dengan sukses.
Dalam contoh berikut, nama paket adalah app- Test-unaligned.apk debug-android.
Salin paket pengujian Anda ke direktori kerja Anda, lalu jalankan perintah berikut:
$ aapt debug badging app-debug-androidTest-unaligned.apkPaket uji Instrumentasi yang valid akan menghasilkan output seperti berikut:
package: name='com.amazon.aws.adf.android.referenceapp.test' versionCode='' versionName='' platformBuildVersionName='5.1.1-1819727' sdkVersion:'9' targetSdkVersion:'22' application-label:'Test-api' application: label='Test-api' icon='' application-debuggable uses-library:'android.test.runner' feature-group: label='' uses-feature: name='android.hardware.touchscreen' uses-implied-feature: name='android.hardware.touchscreen' reason='default feature for all apps' supports-screens: 'small' 'normal' 'large' 'xlarge' supports-any-density: 'true' locales: '--_--' densities: '160'Untuk informasi selengkapnya, lihat Instrumentasi untuk Android dan AWS Device Farm.
INSTRUMENTASI_TEST_PAKET_INSTRUMENTATION_RUNNER_VALUE_MISSING
Jika Anda melihat pesan berikut, ikuti langkah-langkah ini untuk memperbaiki masalah.
We could not find the instrumentation runner value in the AndroidManifest.xml. Please verify the test package is valid by running the command "aapt dump xmltree <path to your test package> AndroidManifest.xml", and try again after finding the instrumentation runner value behind the keyword "instrumentation."
Selama proses validasi upload, Device Farm mengurai nilai pelari instrumentasi dari pohon parse XML untuk file XML yang terkandung dalam paket. Anda dapat menggunakan perintah berikut:aapt dump xmltree <path to your package>
AndroidManifest.xml.
Pastikan Anda dapat menjalankan perintah ini pada paket pengujian Instrumentasi Anda dan menemukan nilai instrumentasi dengan sukses.
Dalam contoh berikut, nama paket adalah app- Test-unaligned.apk debug-android.
Salin paket pengujian Anda ke direktori kerja Anda, lalu jalankan perintah berikut:
$ aapt dump xmltree app-debug-androidTest-unaligned.apk AndroidManifest.xml | grep -A5 "instrumentation"Paket uji Instrumentasi yang valid akan menghasilkan output seperti berikut:
E: instrumentation (line=9) A: android:label(0x01010001)="Tests for com.amazon.aws.adf.android.referenceapp" (Raw: "Tests for com.amazon.aws.adf.android.referenceapp") A: android:name(0x01010003)="android.support.test.runner.AndroidJUnitRunner" (Raw: "android.support.test.runner.AndroidJUnitRunner") A: android:targetPackage(0x01010021)="com.amazon.aws.adf.android.referenceapp" (Raw: "com.amazon.aws.adf.android.referenceapp") A: android:handleProfiling(0x01010022)=(type 0x12)0x0 A: android:functionalTest(0x01010023)=(type 0x12)0x0Untuk informasi selengkapnya, lihat Instrumentasi untuk Android dan AWS Device Farm.
INSTRUMENTATION_TEST_PACKAGE_AAPT_DUMP_XMLTREE_FAILED
Jika Anda melihat pesan berikut, ikuti langkah-langkah ini untuk memperbaiki masalah.
We could not find the valid AndroidManifest.xml in your test package. Please verify that the test package is valid by running the command "aapt dump xmltree <path to your test package> AndroidManifest.xml", and try again after the command does not print any error.
Selama proses validasi unggahan, Device Farm mengurai informasi dari pohon parse XML untuk file XML yang terkandung dalam paket menggunakan perintah berikut:. aapt dump xmltree <path to your package> AndroidManifest.xml
Pastikan Anda dapat menjalankan perintah ini pada paket pengujian instrumentasi Anda dengan sukses.
Dalam contoh berikut, nama paket adalah app- Test-unaligned.apk debug-android.
Salin paket pengujian Anda ke direktori kerja Anda, lalu jalankan perintah berikut:
$ aapt dump xmltree app-debug-androidTest-unaligned.apk AndroidManifest.xmlPaket uji Instrumentasi yang valid akan menghasilkan output seperti berikut:
N: android=http://schemas.android.com/apk/res/android E: manifest (line=2) A: package="com.amazon.aws.adf.android.referenceapp.test" (Raw: "com.amazon.aws.adf.android.referenceapp.test") A: platformBuildVersionCode=(type 0x10)0x16 (Raw: "22") A: platformBuildVersionName="5.1.1-1819727" (Raw: "5.1.1-1819727") E: uses-sdk (line=5) A: android:minSdkVersion(0x0101020c)=(type 0x10)0x9 A: android:targetSdkVersion(0x01010270)=(type 0x10)0x16 E: instrumentation (line=9) A: android:label(0x01010001)="Tests for com.amazon.aws.adf.android.referenceapp" (Raw: "Tests for com.amazon.aws.adf.android.referenceapp") A: android:name(0x01010003)="android.support.test.runner.AndroidJUnitRunner" (Raw: "android.support.test.runner.AndroidJUnitRunner") A: android:targetPackage(0x01010021)="com.amazon.aws.adf.android.referenceapp" (Raw: "com.amazon.aws.adf.android.referenceapp") A: android:handleProfiling(0x01010022)=(type 0x12)0x0 A: android:functionalTest(0x01010023)=(type 0x12)0x0 E: application (line=16) A: android:label(0x01010001)=@0x7f020000 A: android:debuggable(0x0101000f)=(type 0x12)0xffffffff E: uses-library (line=17) A: android:name(0x01010003)="android.test.runner" (Raw: "android.test.runner")Untuk informasi selengkapnya, lihat Instrumentasi untuk Android dan AWS Device Farm.
INSTRUMENTASI_TEST_PAKET_TEST_PAKET_NAMA_NILAI_HILANG
Jika Anda melihat pesan berikut, ikuti langkah-langkah ini untuk memperbaiki masalah.
We could not find the package name in your test package. Please verify that the test package is valid by running the command "aapt debug badging <path to your test package>", and try again after finding the package name value behind the keyword "package: name."
Selama proses validasi unggahan, Device Farm mengurai nilai nama paket dari output perintah berikut:aapt debug badging <path to your package>.
Pastikan Anda dapat menjalankan perintah ini pada paket pengujian Instrumentasi Anda dan menemukan nilai nama paket dengan sukses.
Dalam contoh berikut, nama paket adalah app- Test-unaligned.apk debug-android.
Salin paket pengujian Anda ke direktori kerja Anda, lalu jalankan perintah berikut:
$ aapt debug badging app-debug-androidTest-unaligned.apk | grep "package: name="Paket uji Instrumentasi yang valid akan menghasilkan output seperti berikut:
package: name='com.amazon.aws.adf.android.referenceapp.test' versionCode='' versionName='' platformBuildVersionName='5.1.1-1819727'Untuk informasi selengkapnya, lihat Instrumentasi untuk Android dan AWS Device Farm.
Uji wawasan
Saat Anda memilih untuk menguji wawasan, Device Farm menghasilkan laporan ringkasan untuk proses Anda dan setiap pekerjaan di bawahnya. Jika layanan tidak dapat menghasilkan laporan, status laporan wawasan adalah SKIPPED atauERRORED, dan pesan laporan menjelaskan alasannya. Pesan berikut dapat terjadi saat menghasilkan wawasan untuk pengujian Instrumentasi.
Pekerjaan tidak berjalan sampai selesai
Unable to generate test insights because the job was
status.
Pekerjaan berakhir dalam keadaan tidak berhasil (di mana statusSTOPPED,, atauSKIPPED)ERRORED, jadi tidak ada hasil untuk diringkas. Proses yang berakhir dalam keadaan gagal masih menerima wawasan.
Untuk mengatasi masalah ini, selidiki mengapa pekerjaan tidak berjalan hingga selesai. Dalam banyak kasus, message bidang pekerjaan itu sendiri mungkin menjelaskan mengapa pekerjaan itu tidak selesai.
Hasilnya tidak mengandung kasus uji
Test insights could not be generated. The test spec output file was
parsed successfully but contained no test cases.
Hasil artefak berhasil diurai tetapi mengandung nol kasus uji.
Untuk mengatasi masalah ini, verifikasi bahwa rangkaian pengujian Anda menyertakan setidaknya satu kasus uji dan hasilnya disimpan dengan benar di bawah$DEVICEFARM_LOG_DIR.
Output pengujian melebihi ukuran maksimum yang didukung
Unable to generate test insights: test output "test spec output" exceeds
the maximum supported size of 1GB.
Output spesifikasi pengujian lebih besar dari 1 GB.
Untuk mengatasi masalah ini, selidiki perintah yang menghasilkan sejumlah besar baris dalam output spesifikasi pengujian Anda. Kemudian, menghapus atau memodifikasinya.
Tidak ada output instrumentasi yang ditemukan dalam output spesifikasi pengujian
Unable to generate test insights. No instrumentation test output was
found in the test spec output file.
File output spesifikasi uji ada tetapi tidak berisi jalur keluaran instrumentasi.
Untuk mengatasi masalah ini, pastikan kerangka kerja Anda memancarkan output instrumentasi ke stdout dalam file spesifikasi pengujian.