Automasi makmal peranti Android: peranti sebenar dan emulator

BeePOS LLC  |   |  11 min read

Akan kuubah kolam kecil telepon dan emulator Android menjadi laboratorium perangkat yang dapat diulangi dengan keadaan awal yang eksplisit, pemeriksaan yang dapat diamati, penantian yang terikat, bukti kegagalan, dan aturan membangun yang jelas.

Automasi makmal peranti Android: peranti sebenar dan emulator
Automasi makmal peranti Android: peranti sebenar dan emulator

Jawaban singkatnya: mengotomatkan loop operasi, bukan rak

Sebuah laboratorium perangkat Android menjadi berguna ketika setiap dijalankan dimulai dari keadaan bernama, melakukan satu pemeriksaan terbatas, memverifikasi sebuah pascakondisi, dan meninggalkan bukti orang lain dapat meninjau. Ponsel, hub USB, berdiri, dan label hanya lapisan fisik. Otomasi laboratorium perangkat Android adalah lapisan operasi yang mengubah perangkat tersebut menjadi rilis berulang, dukungan, dan pemeriksaan lokalisasi.

Jika Anda masih memilih telepon, kabel, listrik, atau penyimpanan, mulai dariPanduan penyiapan laboratorium perangkat Android berbiaya rendahArtikel ini dimulai setelah perangkat keras itu ada. Ini menjelaskan bagaimana menggabungkan perangkat dan emulator nyata, mendefinisikan matriks tes kecil, membuat sebuah perangkat run card, sinkron pada keadaan yang dapat diamati, menangkap screenshot dan log, dan memutuskan kapan awan perangkat yang dihost adalah pilihan yang lebih baik.

Tujuannya bukan untuk menggantikan tes unit, tes Compose, Espresso, Automator UI, Appium, Gradle Managed Devices, atau Firebase Test Lab. Alat-alat itu memiliki batasan yang berbeda. AnAlat otomasi Android Android AIHal ini paling berguna di sini sebagai lapisan alur kerja yang terlihat untuk pemeriksaan perangkat-nyata bahwa operator, pengulas QA, dan tim pendukung perlu memahami.

Berikan perangkat nyata dan emulator pekerjaan yang berbeda

Sebuah laboratorium perangkat tidak perlu setiap tes pada setiap perangkat. Emulator isolator cepat dibuat, reset, parameterisasi, dan dijalankan secara paralel. Ponsel-ponsel nyata mengekspos firmware vendor, kamera fisik, Bluetooth, prompt biometrik, perilaku termal, pembatasan latar belakang, pengiriman pemberitahuan, keadaan USB, dan permukaan input yang mungkin tidak dapat berkembang biak dengan setia. Unadi menggunakan perbedaan tersebut untuk membagi tanggung jawab daripada berdebat untuk satu platform universal.

Lapisan Labfirst useJangan menganggap
Emulator lokalPeriksa asap cepat, cakupan tingkat API, reproduksi negara bersihPerangkat keras virtual itu membuktikan perilaku vendor-spesifik atau sensor
Ponsel nyata lokalBukti pelepasan, reproduksi pendukung, sistem UI, kamera, Bluetooth, perilaku OEMModel yang satu itu mewakili pasar Android
Perangkat maya palsuJalur paralel dan konfigurasi yang dikelolaBahwa setiap tes membutuhkan infrastruktur terpencil
Perangkat nyata palsuCakupan model Jalur Broader tanpa mempertahankan perangkat kerasWaktu antrian, privasi, dan akses artefak itu cocok dengan setiap alur kerja
Pembangun atau uji kerangka kerjaAfirmasi deterministik deterministik mendekati kode aplikasiBahwa pernyataan lewat membuktikan aliran kerja yang dapat dilihat lengkap
Aliran visual yang dapat diamatiJalur kotak-hitam yang berulang dan bukti yang bersahabat dengan pengulasCekupan layar atau pernyataan semantik pengganti OCR

Pola awal praktis adalah tier virtual yang lebar dan tier fisik yang sempit. Vidilla menjalankan pemeriksaan deterministik cepat melintasi konfigurasi virtual, kemudian route sebuah paket kritis kecil melalui dua atau tiga ponsel nyata yang dipilih untuk risiko pelanggan sebenarnya. Perluasan hanya ketika data kegagalan menunjukkan bahwa model lain, versi Android, lokal, atau perilaku vendor mengubah hasilnya.

Takrifkan matriks perangkat dengan satu alasan per baris

Laboratorium Tes Firebase Vodin menggambarkan matriks tes sebagai kombinasi dari perangkat dan konfigurasi uji yang dipilih. Ide itu juga bekerja untuk lab lokal, tapi matriksnya harus berbasis risiko daripada kelelahan. Setiap baris membutuhkan alasan, pemilik, dan keputusan yang diharapkan. Ponsel yang ada hanya karena tersedia akan secara diam-diam mengkonsumsi biaya, reset, dan waktu pemeliharaan tanpa meningkatkan kepercayaan rilis.

  • BARIS Pertahankan satu garis dasar Android saat ini untuk jalur rilis utama.
  • Keserasian dan peningkatan perilaku.
  • Tambahkan satu ponsel nyata khusus vendor hanya ketika firmware, izin, kebijakan baterai, atau pangsa pelanggan menciptakan risiko yang berbeda.
  • Tambah konfigurasi layar-kecil atau skala-huruf-tinggi ketika hal bentangan dan aksesibilitas.
  • Tambah lokalitas, tema, orientasi, jaringan, atau account state hanya untuk memeriksa yang hasilnya dapat berubah dengan syarat tersebut.
  • Baris matriks pensiun yang tidak lagi menemukan cacat yang berbeda atau mendukung segmen pelanggan saat ini.

Namakan keputusan setiap baris mendukung: blokir sebuah rilis, mengumpulkan bukti ulasan, mereproduksi sebuah kasus pendukung, atau mengeksplorasi kegagalan yang diduga spesifik perangkat. Keputusan itu mengendalikan seberapa besar keandalan, isolasi, dan pelaporan yang diperlukan barisan. Sebuah pemblokir pembebasan akan membutuhkan aturan pengaturan ulang dan penerapan yang lebih kuat daripada pemeriksaan eksplorasi yang diawasi.

Woinche Membuat kartu lari sebelum menulis otomatis

Spesifikasi terkecil yang berguna untuk pemeriksaan laboratorium adalah kartu lari. Ini mencegah asumsi tersembunyi dari hidup dalam memori satu operator dan memberikan otomatisasi kontrak stabil. Write kartu dalam istilah yang dapat diamati sebelum memilih node, pemilih, atau kode kerangka kerja.

lapangan run-cardContoh senamMengapa penting
TujuanVerifikasi sign-in jalur asap setelah tahap penyebaranMendefinisikan keputusan yang dijalankan dukungan ini
Identitas pembangunanPaket, versi, komitmen, lingkunganMelarang bukti dari melekat pada bangunan yang salah
Identitas perangkatModel, versi Android, alias serial, ukuran layarMembuat hasil reproduksi
Negara bagianApp dihentikan, ditandatangani, jaringan online, dialog sistem dibersihkanMengeluarkan keadaan tidak disengaja dari run sebelumnya
Data masukan InfanAkun uji nama dan fixture tidak sensitifData yang dapat digunakan kembali dari alur kerja memisahkan diri
Pasca-kondisiPenanda layar rumah rumah marker terlihat dan account state dikonfirmasiTindakan itu menghasilkan hasil yang dimaksudkan
Kondisi berhentiDialog tidak diketahui, layar destruktif, tenggat waktu, target hilangMelarang kelanjutan buta
Bukti Bukti BuktiCekupan, negara UI terpilih, timestamp, hasil langkah, kutipan log yang relevanJangan sampai orang lain mencoba - coba lagi tanpa segera berlari lagi

Jangan mendefinisikan kesuksesan sebagai urutan keran. Definisikan keadaan tampak atau terstruktur yang harus ada setelah urutan. Susunatur UI perubahan; pascakondisi bisnis lebih tahan lama. Pemeriksaan log masuk berhasil karena keadaan akun dan permukaan rumah yang diharapkan hadir, bukan karena otomasi menyadap koordinat di mana tombol yang digunakan.

Reset keadaan tanpa menghapus bukti

Perangkat berbagi gagal dalam cara-cara yang terlihat seperti cacat aplikasi: akun basi, persetujuan tercache, pembaruan tertunda, perubahan izin, penyimpanan rendah, keyboard yang tidak terduga, dialog sistem terbuka, overlay pemberitahuan, atau run sebelumnya kiri setengah jalan melalui checkout. Resetkan ulang hanya negara yang dinamai oleh kartu lari, dan tangkap kegagalan sebelum pemulihan mengubahnya.

  1. Kenali perangkat dan membangun sebelum menyentuh negara.
  2. Sigap layar saat ini ketika run sebelumnya berakhir tanpa diduga.
  3. Anda akan mengembalikan aplikasi ke negara bagian awal yang dinyatakan menggunakan reset paling sedikit destruktif yang cukup.
  4. Kepastian jaringan, waktu, penyimpanan, orientasi, lokal, skala font, dan perlu izin.
  5. Verifikasi penanda start-state sebelum aksi bisnis pertama.
  6. Kuarantina perangkat jika reset berulang kali gagal; jangan ubah kesalahan infrastruktur menjadi kutu produk.

Sebuah tisu penuh tidak otomatis lebih aman. Ini dapat menghancurkan negara yang tepat dibutuhkan untuk mereproduksi cacat dan menambahkan waktu pengaturan yang mendorong tim untuk melewatkan cek. Jaga profil terpisah untuk instalasi segar, instalasi-upgrade, signed-in, signed-out, dan jalur restorasi-account ketika negara-negara bagian tersebut membawa risiko yang berbeda.

Jangan tidur lebih lama.

Panduan kemampuan-uji Android Android memperingatkan terhadap tidur sewenang-wenang karena kinerja perangkat dan kerja asinkron bervariasi. Keterlambatan tetap bisa terlalu singkat di telepon yang sibuk dan tidak perlu lambat pada yang cepat. Lebih suka menunggu secara eksplisit untuk kondisi yang berarti, dengan tenggat waktu dan artefak kegagalan ketika kondisi itu tidak pernah muncul.

  • Setelah peluncuran aplikasi, tunggu elemen UI atau keadaan layar stabil daripada jumlah detik yang ditebak.
  • Setelah keran, periksa kondisi sebelum mengirim masukan berikutnya.
  • Gunakan pengulangan terbatas untuk menyatakan bahwa benar-benar perlu polling; merekam pengamatan akhir pada waktu habis.
  • Perlakukan dialog izin sistem, prompt update, dan overlay OEM sebagai percabangan bernama, bukan kebisingan acak.
  • Stop ketika keadaan tampak berada di luar set yang disetujui, terutama sebelum pembayaran, penghapusan, persetujuan, atau perubahan akun.

♪ Arus ♪LaiCai FlowKontrak berbelit-belit mengikuti model yang tampak ini: Pengamatan UI, pencocokan OCR, template, dan penangkapan layar mengamati keadaan; node input dan penunjuk melakukan satu operasi; node aliran menangani penantian, cabang, loop terikat, aliran anak, return, dan pemberhentian. Keepping observasi, keputusan, dan tindakan terpisah membuat alur kerja lebih mudah ditinjau dan lebih aman untuk dipertahankan.

Bangunkan suatu yang dapat dibacaLaiCai FlowUntuk pemeriksaan laboratorium

LaiCai FlowDia adalah fitur otomatis di dalamLaiCai Screen MirroringUntuk menjalankan perangkat-lab, menjaga Aliran utama di tingkat peninjau QA dapat membaca: mempersiapkan perangkat, membuka target, menjalankan pemeriksaan kritis, mengumpulkan bukti, dan menyelesaikan. Dia menempatkan detail teknis multi-langkah ke dalam anak kecil mengalir daripada mengekspos rantai panjang pertandingan, seleksi, keran, dan menunggu. PerancisLaiCai FlowPanduan panduanKharisika menjelaskan bagaimana Profil dan Aliran disusun.

  1. Tak boleh menganggap perangkat pertama benar.
  2. Konfirmasi paket dan keadaan UI saat ini sebelum membuka atau mengubah aplikasi.
  3. Guna keadaan UI ketika informasi aksesibilitas stabil, OCR ketika teks tampak adalah bukti, dan templat yang cocok hanya untuk target gambar yang divalidasi.
  4. Tempat eksplisit menunggu antara tindakan dan pengamatan lepas layar.
  5. Periksa keadaan setelah setiap fase yang mengubah keadaan layar atau aplikasi.
  6. Tangkap cuplikan layar atau rekaman hanya ketika mendukung keputusan ulasan bernama.
  7. Kembalinya hasil fasa yang jelas; hentikan run ketika tindakan berikutnya tidak dibenarkan oleh pengamatan saat ini.

Selama persiapan untuk panduan ini, konteks baca-saja LaiCai melaporkan 73 jenis node yang tersedia dan satu ponsel Samsung Android 16 yang terhubung. Itu menegaskan kontrak dan jalur kesadaran perangkat saat ini; itu bukan benchmark kinerja. Memvalidasi aplikasi, perangkat, aset, dan dukungan runtime Anda sendiri sebelum menganggap Profil sebagai infrastruktur pembebasan.

Kutip paket kegagalan, bukan titik merah

Pemeriksaan yang gagal harus menjawab apa yang berlari, di mana berlari, apa yang diamati sistem, dan mengapa lari berhenti. Lab Tes Firebase Firebase mengekspos model yang berguna dengan mengembalikan status tes di samping log, cuplikan layar, dan video di mana tersedia. Sebuah laboratorium perangkat lokal membutuhkan disiplin yang sama bahkan jika penyimpanannya lebih sederhana.

  • ID Run, timestamp, versi workflow, versi build, dan lingkungan.
  • Model peranti, versi Android, alias serial stabil, ukuran layar, lokal, tema, dan orientasi.
  • Mulai negara bagian, input fixture identifier, dan terakhir menyelesaikan fase bisnis.
  • Diharapkan kondisi pos dan hasil UI, OCR, gambar, atau kerangka kerja yang sebenarnya dipilih.
  • Cekupan kembali sebelum pemulihan, perekaman pendek hanya ketika hal-hal gerak, dan kutipan log relevan terikat.
  • Klasifikasi: cacat produk, cacat uji, infrastruktur perangkat, data, lingkungan, atau kebutuhan peninjauan manusia.

Kegunaan nama berkas stabil dan manifesto daripada folder cekupan skrin yang tidak terstruktur. Data pribadi atau rahasia sebelum berbagi. Jangan unggah seluruh log perangkat ketika interval sanitisasi pendek di sekitar kegagalan mencukupi. Bukti-bukti harus mengurangi pekerjaan orang berikutnya tanpa menciptakan masalah privasi atau retensi baru.

Pilih cek yang menghasilkan waktu perangkat mereka

menit Real-device langka karena perangkat membutuhkan pengisian, pembersihan, pembaruan, dan akses manusia. Kebijaksanaan memberikan mereka ke alur kerja yang terlihat atau perilaku fisiknya. Kandidat pertama yang baik adalah pemeriksaan asap pasca-deploy, izin dan jalur sistem-UI, kamera atau Bluetooth setup, aliran pemberitahuan, bukti lokalisasi, regresi spesifik vendor, dan reproduksi dukungan yang tepat.

Jaga logika bisnis, parsing, pemformatan, dan perilaku komponen dalam tes yang lebih cepat dekat dengan kode. Foredon menggunakan perangkat yang nyata untuk membuktikan batas ujian-ujian tersebut tidak dapat: membangun, sistem operasi yang terpasang, aplikasi eksternal, permukaan input, transisi jaringan, atau komposisi yang dapat dilihat oleh manusia. PerancisPerbandingan alat pengujian otomasi Android AndroidKelayakan membantu menetapkan setiap persyaratan untuk lapisan yang sesuai.

Sebuah paket kritis dari lima perjalanan yang dapat diandalkan lebih berharga daripada lima puluh mengalir yang tidak ada yang percaya. Mulailah dengan satu jalur perwakilan, ukur reset dan biaya triage, kemudian tambahkan liputan hanya ketika pemeriksaan baru melindungi rilis tertentu, pelanggan, atau keputusan operasional.

Ukur laboratorium sebelum Anda skala itu

Tim-tim yang membahas peternakan perangkat yang dihost sendiri secara berulang kali kembali ke input build-vers-buy yang sama: perilaku antrian, koncurrency puncak, waktu tunggu, boot atau reset kegagalan, upaya pemeliharaan, dan cacat yang hanya muncul pada perangkat fisik. Acak sinyal tersebut untuk beberapa siklus pelepasan sebelum membeli lebih banyak perangkat keras atau memindahkan semuanya ke awan.

  • Antri antrian menunggu pada waktu hari dan prioritas alur kerja.
  • Pemanfaatan perangkat dan waktu yang tidak tersedia untuk pengisian, pemutakhiran, atau perbaikan.
  • Mula-state atau ulang tingkat kegagalan oleh perangkat.
  • Otomasi flakiness bukan perubahan produk.
  • Waktu Median dari kegagalan ke klasifikasi yang berguna.
  • Kecacatan distinct hanya ditemukan pada perangkat nyata, vendor spesifik, atau versi Android spesifik.
  • Minit-menit operator per run sukses dan per alur kerja yang dipertahankan.

Ini adalah metrik manajemen, bukan dasbor kesombongan. Jika antrian tunggu rendah tetapi pemeliharaan mendominasi, sebuah layanan hosan dapat mengurangi biaya kepemilikan. Jika privasi, periferal lokal, debugging interaktif cepat, atau materi reproduksi dukungan berulang lebih dari cakupan model luas, laboratorium lokal kecil mungkin tetap menjadi pusat gravitasi yang tepat.

Menggunakan aturan hybrid membangun-lawan-beli

Laboratorium lokal dan rumah adalah pelengkap. Perangkat Yang Dikelola Gradle dapat mendefinisikan perangkat virtual dalam membangun dan mengelompokkannya untuk eksekusi uji. Laboratorium Tes Firebase Zobia dapat memperpanjang matriks melintasi perangkat virtual dan fisik yang dihos dan mengembalikan artefak yang dikelola. LOGON Sebuah kolam lokal menyediakan akses langsung, proprietary peripheral, pengawasan terhadap debugging, dan perangkat stabil untuk pemeriksaan operasional berulang.

Kekangan KekanganBiasanya makanan khas setempatBiasanya, seseorang yang disukai
LiputanBeberapa perangkat yang dikenalBanyak model, tingkat API, orientasi, atau lokal
KonkurrensiVolume rendah yang dapat didugaPermintaan Bursty atau tes yang sangat paralel
InteraksiKeseringan pengawakutuan langsung dan mendukung reproduksisuite standardisasi yang tidak tertata
Perkakasan MozillaAksesoris USB, perangkat Bluetooth, jaringan lokal, fixtures tersendiriTidak ada perifer lokal khusus
KerahsiaanData harus tetap pada peralatan lokal yang dikendalikanPengontrol retensi dan eksekusi jarak jauh yang disetujui tidak ada
OperasiTim yunidon menerima pengisian, tambal, reset, inventaris, dan perbaikanTim woars lebih memilih ketersediaan perangkat dikelola

Sebuah hybrid yang masuk akal menyimpan uji kerangka kerja yang cepat pada infrastruktur virtual yang dikelola, mengirim cek keserasian yang dipilih untuk hosting perangkat nyata, dan menjaga bangku lokal kecil untuk fisik bernilai tinggi atau pengawasan aliran. Split kanan yang di kanan dapat berubah sebagai konkurensi, privasi, dan bukti perangkat pelanggan berubah.

Daftar cek otomasi laboratorium perangkat Android

  1. Umpukkan satu tujuan dan keputusan ke setiap baris sistem perangkat.
  2. Emulator terpisah, perangkat-real lokal, host, framework-test, dan tanggung jawab aliran visual.
  3. Buat kartu lari dengan membangun, perangkat, memulai keadaan, masukan, pascakondisi, berhenti, dan bukti.
  4. Verifikasi keadaan awal sebelum aksi bisnis pertama.
  5. Wait untuk kondisi yang dapat diamati daripada menambah tidur buta yang lebih lama.
  6. Keep observasi, keputusan, dan tindakan perangkat sebagai langkah-langkah yang tidak dapat dilihat secara terpisah.
  7. Bukti tangkapan sebelum reset atau pemulihan mengubah kegagalan.
  8. Pembinaan infrastruktur, data, tes, lingkungan, dan kegagalan produk secara terpisah.
  9. Antrian trek, pemanfaatan, reparasi ulang, reruns flaky, waktu triage, dan cacat fisik-hanya.
  10. Kau menggunakan strategi lokal-dan-pembawaan hibrida ketika bukti mendukungnya.

Mulai dengan satu telepon sungguhan, satu konfigurasi emulator, dan satu kartu lari kritis bisnis. Janganlah membuat loop itu dapat diandalkan dan dapat ditinjau kembali sebelum menambahkan perangkat lain atau alur kerja. Ketika lapisan perangkat-lab yang dapat diamati cocok tim Anda, menjelajahOtomasi Android AI denganLaiCai Flowdan menjaga detail implementasi dalamPanduan Aliran lokal yang sadar lokal.

Nota Editorial Ukraino:Amerika SerikatPerusahaan di belakangLaiCai Screen Mirroring, meneliti panduan ini menggunakan dokumentasi resmi Android dan Firebase yang dihubungkan di bawah ini, kontrak produk LaiCai read-only saat ini, dan diskusi umum QA. Kemampuan produk product diidentifikasi terpisah dari bimbingan alur kerja netral. Pertanyaan atau koreksi dapat dikirim untuk mendukung@laicaiapp.com.

Muat turun Versi Percuma

Versi sebelumnya 4.2.0: macOSWindows EXE

Nota: Android pencerminan skrin sahaja.