Class monkeyrunner yang menunjukkan perangkat atau emulator yang dapat diakses oleh workstation yang menjalankan
monkeyrunner
.
Class ini digunakan untuk mengontrol perangkat Android atau emulator. Metode ini mengirim peristiwa UI, mengambil informasi, menginstal dan menghapus aplikasi, serta menjalankan aplikasi.
Biasanya, Anda tidak perlu membuat instance MonkeyDevice
. Sebagai
gantinya, Anda akan menggunakan
MonkeyRunner.waitForConnection()
untuk membuat objek baru dari koneksi ke perangkat atau
emulator. Misalnya, sebagai ganti
menggunakan:
newdevice = MonkeyDevice()
Anda akan menggunakan:
newdevice = MonkeyRunner.waitForConnection()
Ringkasan
Konstanta | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
string | DOWN |
Gunakan ini dengan argumen type dari
press() atau touch()
untuk mengirim peristiwa DOWN.
|
|||||||||
string | UP |
Gunakan ini dengan argumen type dari
press() atau touch()
untuk mengirim peristiwa UP.
|
|||||||||
string | DOWN_AND_UP |
Gunakan ini dengan argumen type dari
press() atau touch()
untuk mengirim peristiwa DOWN yang langsung diikuti dengan peristiwa UP.
|
Metode | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Menyiarkan Intent ke perangkat ini, seolah-olah Intent tersebut berasal dari
aplikasi.
|
||||||||||
|
Menyimulasikan gestur tarik (sentuh, tahan, dan pindah) pada layar perangkat ini.
|
||||||||||
|
Nama variabel lingkungan sistem, menampilkan nilainya untuk perangkat ini.
Nama-nama variabel yang tersedia tercantum dalam
deskripsi mendetail metode ini.
|
||||||||||
|
. API yang setara dengan
adb shell getprop <key>. This is provided for use
by platform developers.
|
||||||||||
|
Menginstal aplikasi Android atau paket pengujian yang dimuat di dalam packageFile ke
perangkat ini. Jika aplikasi atau paket pengujian sudah terinstal, file tersebut akan ditimpa.
|
||||||||||
|
Menjalankan komponen yang ditentukan dalam instrumentasi Android, dan menampilkan hasilnya
dalam kamus yang format pastinya ditentukan oleh komponen yang sedang dijalankan. Komponen
tersebut harus sudah tersedia di perangkat ini.
|
||||||||||
|
Mengirim peristiwa tombol yang ditentukan oleh jenis ke tombol yang ditentukan oleh
kode tombol.
|
||||||||||
|
Me-reboot perangkat ini ke bootloader yang ditentukan oleh bootloadType.
|
||||||||||
|
Menghapus paket yang ditentukan dari perangkat ini, termasuk data dan cache-nya.
|
||||||||||
|
Menjalankan perintah shell
adb dan menampilkan hasilnya, jika ada.
|
||||||||||
|
Memulai sebuah Aktivitas di perangkat ini dengan mengirimkan Intent yang dibuat dari
argumen yang disediakan.
|
||||||||||
MonkeyImage
|
Menangkap seluruh buffer layar perangkat ini, menghasilkan objek
MonkeyImage
yang berisi screenshot dari tampilan saat ini.
|
||||||||||
|
Mengirim peristiwa sentuh yang ditentukan berdasarkan jenis ke lokasi layar yang
ditentukan oleh x dan y.
|
||||||||||
|
Mengirim karakter yang termuat dalam pesan ke perangkat ini, seolah-olah karakter tersebut
telah diketik di keyboard perangkat. Ini sama dengan memanggil
press() untuk setiap kode tombol dalam message
yang menggunakan jenis peristiwa tombol DOWN_AND_UP .
|
||||||||||
|
Mengaktifkan layar perangkat ini.
|
Konstanta
string DOWN
string UP
string DOWN_AND_UP
Metode publik
void broadcastIntent ( string uri, string action, string data, string mimetype, iterable categories dictionary extras, component component, iterable flags)
Menyiarkan Intent ke perangkat ini, seolah-olah Intent tersebut berasal dari
aplikasi. Lihat Intent
untuk informasi selengkapnya
tentang argumen.
Argumen
uri |
URI untuk Intent.
(lihat Intent.setData() ).
|
---|---|
action |
Tindakan untuk Intent ini
(lihat Intent.setAction() ).
|
data |
URI data untuk Intent ini
(lihat Intent.setData() ).
|
mimetype |
Jenis MIME untuk Intent ini
(lihat Intent.setType() ).
|
categories |
Struktur data iterable yang berisi string yang menentukan kategori untuk
Intent ini
(lihat
Intent.addCategory() ).
|
extras |
Kamus data tambahan untuk Intent ini
(lihat Intent.putExtra()
untuk contoh).
Kunci untuk setiap item kamus harus berupa string. Nilai item dapat berupa jenis data sederhana atau terstruktur. |
component |
Komponen untuk Intent ini (lihat ComponentName ).
Menggunakan argumen ini akan mengarahkan Intent ke class tertentu dalam
paket Android tertentu.
|
flags |
Struktur data iterable yang berisi flag yang mengontrol cara penanganan Intent
(lihat Intent.setFlags() ).
|
void drag ( tuple start, tuple end, float duration, integer steps)
Menyimulasikan gestur tarik (sentuh, tahan, dan pindah) pada layar perangkat ini.
Argumen
start | Titik awal gestur tarik, dalam bentuk tuple (x,y), dengan x dan y adalah integer. |
---|---|
end | Titik akhir gestur tarik, dalam bentuk tuple (x,y), dengan x dan y adalah integer. |
durasi | Durasi gestur tarik dalam hitungan detik. Defaultnya adalah 1 detik. |
steps | Jumlah langkah yang harus diambil saat menambah titik. Defaultnya adalah 10. |
object getProperty (string key)
Nama variabel lingkungan sistem, menampilkan nilainya untuk perangkat ini.
Argumen
key | Nama variabel lingkungan sistem. Nama-nama variabel yang tersedia tercantum dalam Tabel 1. Nama variabel properti di akhir topik ini. |
---|
Hasil
- Nilai variabel. Format data bervariasi sesuai dengan variabel yang diminta.
object getSystemProperty (string key)
Sinonim untuk getProperty()
.
Argumen
key | Nama variabel lingkungan sistem. Nama-nama variabel yang tersedia tercantum dalam Tabel 1. Nama Variabel Properti. |
---|
Hasil
- Nilai variabel. Format data bervariasi sesuai dengan variabel yang diminta.
void installPackage (string path)
Menginstal aplikasi Android atau paket pengujian yang dimuat di dalam packageFile ke perangkat ini. Jika aplikasi atau paket pengujian sudah terinstal, file tersebut akan ditimpa.
Argumen
path |
Jalur dan nama file yang sepenuhnya memenuhi syarat untuk file .apk yang akan diinstal.
|
---|
dictionary instrument ( string className, dictionary args)
Menjalankan komponen yang ditentukan dengan instrumentasi Android, dan menampilkan hasilnya dalam kamus yang format pastinya ditentukan oleh komponen yang sedang dijalankan. Komponen tersebut harus sudah tersedia di perangkat ini.
Gunakan metode ini untuk memulai kasus pengujian yang menggunakan salah satu class kasus pengujian Android. Lihat Dasar-Dasar Pengujian untuk mempelajari lebih lanjut pengujian unit dengan framework pengujian Android.
Argumen
className |
Nama komponen Android yang sudah terinstal di perangkat ini, dalam
packagename/classname format standar, dengan packagename adalah
nama paket Android dari file .apk di perangkat ini, dan
classname adalah nama class dari komponen Android (Activity,
ContentProvider, Service, atau BroadcastReceiver) dalam file tersebut. Baik
packagename dan classname harus sepenuhnya memenuhi syarat. Lihat
ComponentName untuk detail selengkapnya.
|
---|---|
args | Kamus yang berisi flag dan nilainya. Nilai tersebut akan diteruskan ke komponen saat dimulai. Jika flag ini tidak mengambil nilai, setel nilai kamusnya ke string yang kosong. |
Hasil
-
Kamus berisi output komponen. Konten kamus ditentukan oleh komponen itu sendiri.
Jika Anda menggunakan
InstrumentationTestRunner
sebagai nama class dalam argumen componentName, kamus hasil akan berisi kunci "stream" tunggal. Nilai "stream" adalah string yang berisi output pengujian, seolah-olahInstrumentationTestRunner
dijalankan dari command line. Format output ini dijelaskan dalam Pengujian di IDE Lainnya.
void press (string name, integer type)
Mengirim peristiwa tombol yang ditentukan oleh type
ke tombol yang ditentukan oleh
keycode
.
Argumen
name |
Nama kode tombol yang akan dikirim. Lihat KeyEvent untuk mengetahui daftar
nama kode tombol. Gunakan nama kode tombol, bukan nilai integernya.
|
---|---|
type |
Jenis peristiwa tombol yang akan dikirim. Nilai yang diizinkan adalah
DOWN , UP , dan
DOWN_AND_UP .
|
void reboot (string bootloadType)
Me-reboot perangkat ini ke bootloader yang ditentukan oleh bootloadType
.
Argumen
into | Jenis bootloader untuk reboot. Nilai yang diizinkan adalah "bootloader", "recovery", atau "None". |
---|
void removePackage (string package)
Menghapus paket yang ditentukan dari perangkat ini, termasuk data dan cache-nya.
Argumen
package |
Nama paket Android dari file .apk di perangkat ini.
|
---|
object shell (string cmd)
Menjalankan perintah shell adb
dan menampilkan hasilnya, jika ada.
Argumen
cmd |
Perintah yang akan dijalankan di shell adb . Bentuk perintah ini dijelaskan
dalam topik Android
Debug Bridge.
|
---|
Hasil
- Hasil perintah, jika ada. Format hasil ditentukan oleh perintah.
void startActivity ( string uri, string action, string data, string mimetype, iterable categories dictionary extras, component component, iterable flags)
Memulai sebuah Aktivitas di perangkat ini dengan mengirimkan Intent yang dibuat dari argumen yang disediakan.
Argumen
uri |
URI untuk Intent.
(lihat Intent.setData() ).
|
---|---|
action |
Tindakan untuk Intent ini
(lihat Intent.setAction() ).
|
data |
URI data untuk Intent ini
(lihat Intent.setData() ).
|
mimetype |
Jenis MIME untuk Intent ini
(lihat Intent.setType() ).
|
categories |
Struktur data iterable yang berisi string yang menentukan kategori untuk
Intent ini
(lihat
Intent.addCategory() ).
|
extras |
Kamus data tambahan untuk Intent ini
(lihat
Intent.putExtra()
untuk contoh).
Kunci untuk setiap item kamus harus berupa string. Nilai item dapat berupa jenis data sederhana atau terstruktur. |
component |
Komponen untuk Intent ini
(lihat ComponentName ). Menggunakan argumen ini akan mengarahkan
Intent ke class tertentu dalam paket Android tertentu.
|
flags |
Struktur data iterable yang berisi flag yang mengontrol cara penanganan Intent
(lihat Intent.setFlags() ).
|
MonkeyImage
takeSnapshot
()
Menangkap seluruh buffer layar perangkat ini, yang menghasilkan screenshot dari tampilan saat ini.
Hasil
- Objek MonkeyImage yang berisi gambar tampilan saat ini.
void touch ( integer x, integer y, string type)
Mengirim peristiwa sentuh yang ditentukan berdasarkan jenis ke lokasi layar yang ditentukan oleh x dan y.
Argumen
x | Posisi horizontal sentuhan pada piksel perangkat sebenarnya, mulai dari sisi kiri layar dalam orientasi saat ini. |
---|---|
y | Posisi vertikal sentuhan pada piksel perangkat sebenarnya, mulai dari sisi atas layar dalam orientasi saat ini. |
type |
Jenis peristiwa tombol yang akan dikirim. Nilai yang diizinkan adalah
DOWN , UP , dan
DOWN_AND_UP .
|
void type (string message)
Mengirim karakter yang termuat dalam pesan ke perangkat ini, seolah-olah
karakter tersebut telah diketik di keyboard perangkat. Ini sama dengan memanggil
press()
untuk setiap kode tombol dalam message
yang menggunakan jenis peristiwa tombol DOWN_AND_UP
.
Argumen
message | String berisi karakter yang akan dikirim. |
---|
void wake ()
Mengaktifkan layar perangkat ini.
Lampiran
Grup Properti | Properti | Deskripsi | Catatan |
---|---|---|---|
build |
board |
Nama kode untuk board sistem perangkat |
Lihat Build
|
brand |
Operator atau penyedia yang OS-nya disesuaikan. | ||
device |
Nama desain perangkat. | ||
fingerprint |
ID unik untuk build yang sedang berjalan. | ||
host |
|||
ID |
Nomor atau label changelist. | ||
model |
Nama perangkat yang bisa dilihat oleh pengguna akhir. | ||
product |
Nama produk secara keseluruhan. | ||
tags |
Tag yang dipisahkan koma yang menjelaskan build, seperti "unsigned" dan "debug". | ||
type |
Jenis build, seperti "user" atau "eng". | ||
user |
|||
CPU_ABI |
Nama set petunjuk kode native, dalam bentuk jenis CPU plus konvensi ABI. | ||
manufacturer |
Produsen produk/hardware. | ||
version.incremental |
Kode internal yang digunakan oleh sistem kontrol sumber untuk mewakili versi software. | ||
version.release |
Nama versi software yang dapat dilihat oleh pengguna. | ||
version.sdk |
Versi SDK yang berhubungan dengan versi OS yang dapat dilihat oleh pengguna. | ||
version.codename |
Namakode pengembangan saat ini, atau "REL" jika versi software telah dirilis. | ||
display |
width |
Lebar tampilan perangkat dalam piksel. |
Untuk lebih detailnya,
lihat DisplayMetrics .
|
height |
Tinggi tampilan perangkat dalam piksel. | ||
density |
Kepadatan logis tampilan. Ini adalah faktor yang menskalakan unit
DIP (Piksel Kepadatan Mandiri) ke resolusi perangkat. DIP disesuaikan, sehingga
1 DIP setara dengan satu piksel pada layar 160 piksel per inci. Misalnya,
pada layar 160 dpi, kepadatan = 1,0, sedangkan pada layar 120 dpi, kepadatan = 0,75.
Nilai ini tidak mengikuti secara pasti ukuran layar sebenarnya, tetapi disesuaikan agar sesuai
dengan perubahan besar pada DPI tampilan. Untuk
detail selengkapnya, lihat |
||
am.current |
package |
Nama paket Android dari paket yang sedang berjalan. |
Kunci am.current menampilkan informasi tentang Aktivitas yang sedang
berjalan.
|
action |
Tindakan aktivitas saat ini. Action memiliki format yang sama dengan atribut name
dari elemen action dalam manifes paket.
|
||
comp.class |
Nama class komponen yang memulai Aktivitas saat ini. Untuk
detail selengkapnya, lihat comp.package . |
||
comp.package |
Nama paket komponen yang memulai Aktivitas saat ini. Komponen yang ditentukan oleh nama paket dan nama class dalam paket. | ||
data |
Data (jika ada) yang dimuat dalam Intent yang memulai Aktivitas saat ini. | ||
categories |
Kategori yang ditentukan oleh Intent yang memulai Aktivitas saat ini. | ||
clock |
realtime |
Jumlah milidetik sejak perangkat di-reboot, termasuk waktu tidur (deep sleep). |
Lihat SystemClock untuk informasi selengkapnya.
|
uptime |
Jumlah milidetik sejak perangkat di-reboot, tidak termasuk waktu tidur (deep sleep) | ||
millis |
waktu saat ini sejak epoch UNIX, dalam milidetik. |