Matriks uji Anda, tanpa lab perangkat
Testing aplikasi Android di model ponsel asli
Testing aplikasi Android di model ponsel asli, yaitu ponsel yang benar-benar dipakai pengguna Anda: 150+ model dari 11 merek, Android 12 sampai 17. Reset ke snapshot bersih sebelum setiap run, clone untuk run paralel, dan akses setiap ponsel lewat ADB dan API.
Ponsel yang dipakai pengguna Anda.
Device farm Android tanpa lab: dari Galaxy seri A yang terjangkau sampai Pixel keluaran tahun ini, setiap model dibangun dari data yang direkam langsung dari perangkat aslinya dan diukur terhadapnya sebelum bisa dijalankan siapa pun. Ini bukan emulator: Android berjalan native di server ARM dengan profil model tersebut.
Tata letak di layar asli
Resolusi, kepadatan, dan fitur layar dari panel aslinya, sehingga tata letak, screenshot, dan pengecekan visual sesuai dengan perangkatnya.
Grafis seperti aslinya
Nama vendor GPU dan renderer, versi OpenGL dan Vulkan dari chipset asli, sehingga aplikasi Anda melihat hardware yang diharapkannya.
Google Play di dalamnya
Layanan Google Play dan Play Store terpasang seperti di ponsel biasa, untuk aplikasi yang membutuhkannya untuk login, pembayaran, atau pembaruan.
Ponsel bersih untuk setiap run.
Siapkan ponsel sampai ke keadaan yang diharapkan tes Anda, simpan snapshot-nya, dan kembalikan ke sana sebelum setiap run. Jika satu ponsel tidak cukup, clone lebih banyak dari snapshot yang sama. Pulihkan snapshot bersih dengan satu panggilan.
- Pulihkan sebelum setiap runSatu panggilan mengembalikan ponsel ke snapshot bersih, sehingga setiap run dimulai dari keadaan yang sama.
- Clone untuk run paralelPonsel baru dari snapshot yang sama, masing-masing dengan identitas sendiri, untuk membagi satu suite ke beberapa perangkat.
- Backup malamSimpan snapshot ponsel setiap malam sesuai jadwal; ponsel yang dimatikan tidak dikenai biaya selama menunggu.
ADB, saat Anda perlu masuk lebih dalam.
Setiap ponsel punya relay ADB sendiri. Relay tetap mati sampai Anda membukanya untuk IP Anda dan untuk jangka waktu tertentu, dan menolak apa pun yang bisa merusak perangkat.
- Mati sampai Anda menyalakannyaAktifkan per ponsel dengan allow-list hingga 20 IP atau CIDR.
- Kedaluwarsa dengan sendirinya24 jam secara default, hingga 7 hari; sesi yang tidak aktif ditutup setelah 30 menit.
- Kode login sekali pakaiDitampilkan sekali; kode yang salah mengunci relay. Hingga 3 sesi per ponsel, push dan pull hingga 2 GiB per sesi.
- Layanan berbahaya ditolakroot, remount, disable-verity, reverse, reboot, tcpip, usb, jdwp, sideload, dan restore selalu ditolak. Setiap sesi dicatat.
# 1. open ADB on qa01 for your IP, 24 hours (dashboard or API) curl -X POST https://api.clousd.com/v1/devices/qa01/adb \ -H "Authorization: Bearer $CLOUSD_KEY" \ -H "Content-Type: application/json" \ -d '{"allow_ips":["203.0.113.7"],"ttl_hours":24}' # → connect command and a one-time code, shown once # 2. connect and sign in with the code adb connect $HOST:$PORT adb -s $HOST:$PORT shell clousd-login $CODE # 3. work as usual adb -s $HOST:$PORT install app-debug.apk adb -s $HOST:$PORT shell pm list packages | grep example adb -s $HOST:$PORT logcat -d | tail -n 50
Hubungkan ke CI.
Semua yang dibutuhkan run tes adalah panggilan REST di https://api.clousd.com/v1. Operasi yang lama menjawab 202 beserta job yang bisa dipantau, dan kunci API bisa dibatasi ke ponsel uji serta ke akses baca atau kendali. Lihat REST API dan relay ADB serta rute untuk CI.
API=https://api.clousd.com/v1 AUTH="Authorization: Bearer $CLOUSD_KEY" # reset qa01 to its clean snapshot and wait for the job JOB=$(curl -s -X POST -H "$AUTH" \ $API/devices/qa01/snapshots/v20/restore | jq -r .job.id) until [ "$(curl -s -H "$AUTH" $API/jobs/$JOB | jq -r .job.state)" \ != running ]; do sleep 3; done # install this build and open it curl -s -H "$AUTH" -F apk=@app-release.apk $API/devices/qa01/apk curl -s -H "$AUTH" -H "Content-Type: application/json" \ -d '{"op":"open_app","package":"com.example.app"}' \ $API/devices/qa01/action # keep the evidence curl -s -H "$AUTH" $API/devices/qa01/screenshot -o after.png curl -s -H "$AUTH" $API/devices/qa01/logs > logcat.txt
# the same steps on four phones at once, 0–5 s apart curl -X POST https://api.clousd.com/v1/groups -H "$AUTH" \ -H "Content-Type: application/json" -d '{ "phones": ["qa01", "qa02", "qa03", "qa04"], "steps": [ {"op": "open_app", "package": "com.example.app"}, {"op": "wait", "seconds": 3}, {"op": "if_text", "text": "Sign in", "skip": 1}, {"op": "screenshot"} ], "stagger": [0, 5] }' # 202 → progress per phone in job.output
# a key created with a webhook URL receives signed events POST https://ci.example.com/clousd X-Clousd-Signature: 9f2c…e41a {"event": "job.finished", "ts": …, "phone": "qa01", "job": {…}} # events: job.finished · health.problem · health.resolved # signature: HMAC-SHA256 of the body · 3 delivery attempts
Uji aplikasi Anda di berbagai negara.
Beri ponsel jalur internet di negara lain, dan zona waktu, bahasa, keyboard, toko aplikasi, serta negara SIM-nya ikut menyesuaikan, sehingga Anda melihat aplikasi persis seperti pengguna di sana melihatnya. Pantau run secara langsung tanpa beranjak dari meja Anda.
Kualitas stream turun bertahap saat koneksi Anda melemah, dan naik kembali saat pulih. Multi-view menampilkan banyak layar sekaligus, dan Sync meneruskan input Anda ke ponsel yang Anda pilih.
Pertanyaan seputar testing aplikasi
Ada hal lain? Tulis ke tim dukungan dan orang sungguhan akan menjawab, biasanya dalam satu hari kerja.
Apakah ini emulator?
Bukan. Android berjalan native di server ARM dengan profil model ponsel asli, sehingga aplikasi Anda melihat model tersebut, bukan perangkat emulator generik. Cloud phone vs emulator
Apakah ada trial gratis?
Ada. Ponsel pertama Anda berjalan gratis selama 30 menit, tanpa kartu dan tanpa isi saldo. Setelah itu berlaku tagihan per menit, tanpa biaya per pengguna: $0.004 per menit selama ponsel menyala.
Bisakah saya memilih versi Android yang persis?
Bisa, per ponsel. Setiap model di katalog mencantumkan versi yang bisa dijalankan hari ini, Android 12 sampai 17. Android 12–14 memakai harga dasar; Android 15 10% lebih mahal, Android 16 dan 17 25% lebih mahal.
Bagaimana cara me-reset ponsel di antara run tes?
Simpan snapshot sekali dalam keadaan bersih, lalu pulihkan snapshot itu sebelum setiap run. Cukup satu panggilan API yang menjawab 202 beserta job yang bisa dipantau di /v1/jobs/{id}.
Bisakah saya menjalankan suite secara paralel?
Bisa. Clone ponsel baru dari snapshot bersih, masing-masing dengan identitas sendiri, lalu bagi suite ke ponsel-ponsel itu, atau jalankan langkah yang sama pada satu grup penuh dengan jeda acak.
Apakah ADB terbuka ke internet?
Tidak. ADB mati secara default. Anda membukanya per ponsel untuk allow-list hingga 20 IP atau CIDR dan untuk jangka waktu tertentu (24 jam secara default, hingga 7 hari), login dengan kode sekali pakai, dan setiap sesi dicatat.
Bisakah saya menginstal APK sendiri?
Bisa: unggah di dasbor, kirim ke POST /v1/devices/{id}/apk, atau jalankan adb install lewat relay.
Bisakah AI agent menjalankan tes?
Bisa, dalam akses awal: agent membaca layar dan elemennya, lalu mengetuk dan mengetik lewat panggilan observe dan act, dari snapshot bersih di setiap run. Lihat testing yang dijalankan agent.
Bisakah saya menguji perilaku aplikasi di negara lain?
Bisa. Beri ponsel jalur internet di negara itu, dan zona waktu, bahasa, keyboard, toko aplikasi, serta negara SIM-nya ikut menyesuaikan. Pilih region terdekat dengan tim Anda agar layar dan ADB tetap responsif.
Pasang aplikasi Anda di model asli dalam satu menit.
- 30 menit pertama gratis, tanpa kartu.
- Pilih model dan versi Android.
- Instal build Anda dan mulai testing.