MonkeyDevice

monkeyrunner çalıştıran iş istasyonu tarafından erişilebilen bir cihazı veya emülatörü temsil eden monkeyrunner sınıfı.

Bu sınıf, bir Android cihazı veya emülatörü kontrol etmek için kullanılır. Yöntemler, kullanıcı arayüzü etkinlikleri gönderir, bilgileri alır, uygulamaları yükleyip kaldırır ve uygulamaları çalıştırır.

Normalde MonkeyDevice örneği oluşturmanız gerekmez. Bunun yerine, bir cihaz veya emülatöre bağlantıdan yeni bir nesne oluşturmak için MonkeyRunner.waitForConnection() kullanırsınız. Örneğin,

newdevice = MonkeyDevice()

şunu kullanırsınız:

newdevice = MonkeyRunner.waitForConnection()

Özet

Sabitler
dize AŞAĞI DOWN etkinliği göndermek için bunu press() veya touch() type bağımsız değişkeniyle kullanın.
dize YÜKSELİŞ UP etkinliği göndermek için bunu press() veya touch() öğesinin type bağımsız değişkeniyle birlikte kullanın.
dize AŞAĞI_VE_YUKARI Hemen ardından bir UP etkinliği göndermek isterseniz press() veya touch() için type bağımsız değişkeniyle bunu kullanın.
Yöntemler
geçersiz broadcastIntent (string uri, dize işlemi, dize verisi, dize mimetype, yiterlenebilir kategoriler sözlük ekstraları, bileşen bileşeni, iterable flag'leri)
Intent'i, sanki bir uygulamadan geliyormuş gibi bu cihaza yayınlar.
geçersiz sürükle (tuple başlangıç, tuple bitiş, kayan süre, tamsayı adım)
Bu cihazın ekranında bir sürükleme hareketini (dokunma, basılı tutma ve hareket ettirme) simüle eder.
object getproperty (dize anahtarı)
Bir sistem ortam değişkeninin adı verildiğinde, değişkenin bu cihaz için değeri döndürülür. Kullanılabilir değişken adları, bu yöntemin ayrıntılı açıklamasında listelenmiştir.
object getSystemproperty (dize anahtarı)
. adb shell getprop <key>. This is provided for use by platform developers. API eşdeğeri
geçersiz installPackage (dize yolu)
BundleFile içindeki Android uygulamasını veya test paketini bu cihaza yükler. Uygulama veya test paketi zaten yüklüyse değiştirilir.
sözlük instrument (string className, dictionary bağımsız değişkenleri)
Belirtilen bileşeni Android araçları altında çalıştırır ve sonuçları, tam biçimi çalıştırılan bileşen tarafından belirtilen bir sözlükte döndürür. Bileşen bu cihazda mevcut olmalıdır.
geçersiz press (dize adı, sözlük türü)
Türe göre belirtilen anahtar etkinliğini, keycode tarafından belirtilen anahtara gönderir.
geçersiz yeniden başlat (dize)
Bu cihazı, bootloadType tarafından belirtilen bootloader'da yeniden başlatır.
geçersiz removePackage (dize paketi)
Belirtilen paketi, verileri ve önbelleği de dahil olmak üzere bu cihazdan siler.
object shell (string cmd)
Bir adb kabuk komutu yürütür ve varsa sonucu döndürür.
geçersiz startActivity (dize uri, dize işlemi, dize verisi, dize mime türü, yinlenebilir kategoriler sözlük ekstraları, bileşen bileşeni, işaretler)
Sağlanan bağımsız değişkenlerden oluşturulan bir Intent göndererek bu cihazda bir etkinlik başlatır.
MonkeyImage takeSnapshot()
Bu cihazın ekran arabelleğinin tamamını yakalayarak geçerli ekranın ekran görüntüsünü içeren MonkeyImage nesnesini oluşturur.
geçersiz dokunma (tam sayı x, tamsayı y, tamsayı türü)
Türe göre belirtilen dokunma etkinliğini x ve y ile belirtilen ekran konumuna gönderir.
geçersiz type (dize mesajı)
Mesajdaki karakterleri, cihazın klavyesine yazılmış gibi bu cihaza gönderir. Bu, DOWN_AND_UP önemli etkinlik türünü kullanarak message içindeki her bir tuş kodu için press() çağırmaya eşdeğerdir.
geçersiz uyanma ()
Bu cihazın ekranını uyandırır.

Sabitler

dize AŞAĞI

press() veya touch() değeri. Cihaza bir tuşa basmaya veya ekrana dokunmaya karşılık gelen AŞAĞI etkinlik türünün gönderilmesi gerektiğini belirtir.

dize YUKARI

press() veya touch() değeri. Cihaza bir tuşu bırakmaya veya ekrandan yukarı kaldırmaya karşılık gelen YUKARI etkinlik türünün gönderilmesi gerektiğini belirtir.

dize DOWN_AND_UP

press(), touch() veya type() değeri. Cihaza, bir tuş yazmaya veya ekranı tıklamaya karşılık gelen AŞAĞI etkinlik türünün ardından bir YUKARI etkinlik türünün gönderilmesi gerektiğini belirtir.

Herkese açık yöntemler

void broadcastIntent ( string uri, string işlem, string verileri, string mimetype, yiterable kategoriler sözlük ekstralar, component bileşeni, iterable flag'leri

Intent'i, sanki bir uygulamadan geliyormuş gibi bu cihaza yayınlar. Bağımsız değişkenler hakkında daha fazla bilgi için Intent politikasına bakın.

Bağımsız Değişkenler
Uri Intent'in URI'si. (bkz. Intent.setData()).
işlem Bu Intent işlemi (Intent.setAction() bölümüne bakın).
veri Bu Intent'in veri URI'si (bkz. Intent.setData()).
mime türü Intent'in MIME türü (bkz. Intent.setType()).
kategori Bu Intent'in kategorilerini tanımlayan dizeler içeren yinelenebilir bir veri yapısı (bkz. Intent.addCategory()).
ekstralar Bu Intent için ek verilerin bir sözlüğü (örnek için Intent.putExtra() bölümüne bakın).

Her sözlük öğesinin anahtarı bir dize olmalıdır. Öğenin değeri, herhangi bir basit veya yapılandırılmış veri türü olabilir.

bileşen Bu Intent'in bileşeni (bkz. ComponentName). Bu bağımsız değişkeni kullanmak Intent'i belirli bir Android paketindeki belirli bir sınıfa yönlendirir.
bayraklar Intent'in nasıl işlendiğini kontrol eden işaretler içeren yinelenebilir bir veri yapısı (bkz. Intent.setFlags()).

void sürükle ( tuple başlangıç, tuple bitiş, kayan süre, tamsayı adım)

Bu cihazın ekranında bir sürükleme hareketini (dokunma, basılı tutma ve hareket ettirme) simüle eder.

Bağımsız Değişkenler
başlat Sürükleme hareketinin tuple (x, y) biçimindeki başlangıç noktası. Burada x ve y,tam sayıdır.
bitiş değeri Sürükleme hareketinin tuple (x, y) biçimindeki bitiş noktası. Burada x ve y,tam sayıdır.
süre Sürükleme hareketinin saniye cinsinden süresi. Varsayılan değer 1,0 saniyedir.
adım Noktaların interpolasyonu sırasında uygulanacak adım sayısı. Varsayılan değer 10'dur.

object getMülk (dize anahtarı)

Bir sistem ortam değişkeninin adı verildiğinde, değişkenin bu cihaz için değeri döndürülür.

Bağımsız Değişkenler
anahtar Sistem ortam değişkeninin adı. Kullanılabilir değişken adları Tablo 1. Mülk değişkeni adları bölümüne bakabilirsiniz.
İlerlemeler
  • Değişkenin değeri. Veri biçimi, istenen değişkene göre değişir.

object getSystemproperty (dize anahtarı)

getProperty() ile eş anlamlı.

Bağımsız Değişkenler
anahtar Sistem ortam değişkeninin adı. Kullanılabilir değişken adları Tablo 1. Mülk Değişken Adları bölümünü inceleyin.
İlerlemeler
  • Değişkenin değeri. Veri biçimi, istenen değişkene göre değişir.

void installPackage (dize yolu)

BundleFile içindeki Android uygulamasını veya test paketini bu cihaza yükler. Uygulama veya test paketi zaten yüklüyse değiştirilir.

Bağımsız Değişkenler
yol Yüklenecek .apk dosyasının tam nitelikli yolu ve dosya adı.

dictionary instrument ( string className, dictionary args)

Belirtilen bileşeni Android araçlarıyla çalıştırır ve sonuçları, tam biçimi çalıştırılan bileşen tarafından belirtilen bir sözlükte döndürür. Bileşen bu cihazda mevcut olmalıdır.

Android'in test durumu sınıflarından birini kullanan bir test durumu başlatmak için bu yöntemi kullanın. Android test çerçevesiyle birim testi hakkında daha fazla bilgi edinmek için Testing Fundamentals (Temel Testleri) bölümüne bakın.

Bağımsız Değişkenler
sınıfAdı Bu cihazda önceden yüklü olan bir Android bileşeninin adı, standart paket adı/sınıfadı biçimindedir. Burada paket adı, bu cihazdaki bir .apk dosyasının Android paket adıdır ve sınıf adı, bu dosyadaki bir Android bileşeninin (Activity, ContentProvider, Service veya BroadcastReceiver) sınıf adıdır. Hem paket adı hem de sınıfadı tam olmalıdır. Ayrıntılı bilgi için ComponentName sayfasını inceleyin.
bağımsız değişkenler İşaretleri ve değerlerini içeren bir sözlük. Bunlar, başlatıldığında bileşene iletilir. İşaret bir değer almazsa sözlük değerini boş bir dizeye ayarlayın.
İlerlemeler
  • Bileşenin çıkışını içeren bir sözlük. Sözlüğün içeriği bileşenin kendisi tarafından tanımlanır.

    assetName bağımsız değişkeninde sınıf adı olarak InstrumentationTestRunner kullanırsanız sonuç sözlüğü "stream" tek anahtarını içerir. "stream" değeri, InstrumentationTestRunner komut satırından çalıştırılmış gibi test çıkışını içeren bir dizedir. Bu çıkışın biçimi Diğer IDE'lerde Test Etme bölümünde açıklanmıştır.

void bas (dize adı, tamsayı tür)

type tarafından belirtilen önemli etkinliği, keycode tarafından belirtilen anahtara gönderir.

Bağımsız Değişkenler
ad Gönderilecek anahtar kodunun adı. Anahtar kodu adlarının listesi için KeyEvent politikasına bakın. Tam sayı değerini değil, anahtar kodu adını kullanın.
tür Gönderilecek önemli etkinliğin türü. DOWN, UP ve DOWN_AND_UP değerlerine izin verilir.

void yeniden başlat (dize bootloadType)

Bu cihazı, bootloadType tarafından belirtilen bootloader'da yeniden başlatır.

Bağımsız Değişkenler
içine Yeniden başlatmanın yapılacağı bootloader türü. İzin verilen değerler "bootloader", "recovery" veya "None" şeklindedir.

void removePackage (dize paketi)

Belirtilen paketi, verileri ve önbelleği de dahil olmak üzere bu cihazdan siler.

Bağımsız Değişkenler
paket Bu cihazdaki bir .apk dosyasının Android paket adı.

object kabuk (string cmd)

Bir adb kabuk komutu yürütür ve varsa sonucu döndürür.

Bağımsız Değişkenler
cmd adb kabuğunda yürütülecek komut. Bu komutların biçimi, Android Debug Bridge konusunda açıklanmıştır.
İlerlemeler
  • Varsa komutun sonuçları. Sonuçların biçimi komut tarafından belirlenir.

void startActivity ( string uri, string işlem, string verileri, string mimetype, yiterable kategoriler sözlük ekstralar, component bileşeni, iterable flag'leri

Sağlanan bağımsız değişkenlerden oluşturulan bir Intent göndererek bu cihazda bir etkinlik başlatır.

Bağımsız Değişkenler
Uri Intent'in URI'si. (bkz. Intent.setData()).
işlem Intent işlemi (bkz. Intent.setAction()).
veri Intent veri URI'si (bkz. Intent.setData()).
mime türü Intent'in MIME türü (bkz. Intent.setType()).
kategori Intent'in kategorilerini tanımlayan dizeler içeren yinelenebilir bir veri yapısı (bkz. Intent.addCategory()).
ekstralar Intent için ek verilerin bir sözlüğü (örnek için bkz. Intent.putExtra()).

Her sözlük öğesinin anahtarı bir dize olmalıdır. Öğenin değeri, herhangi bir basit veya yapılandırılmış veri türü olabilir.

bileşen Intent bileşeni (bkz. ComponentName). Bu bağımsız değişkeni kullanmak Intent'i belirli bir Android paketindeki belirli bir sınıfa yönlendirir.
bayraklar Intent'in nasıl işlendiğini kontrol eden işaretler içeren yinelenebilir bir veri yapısı (bkz. Intent.setFlags()).

MonkeyImage Snapshot al ()

Bu cihazın ekran arabelleğinin tamamını yakalayarak mevcut ekranın ekran görüntüsünü elde eder.

İlerlemeler
  • Geçerli ekranın görüntüsünü içeren bir MonkeyImage nesnesi.

void dokunma ( tam sayı x, tamsayı y, dize türü)

Türe göre belirtilen dokunma etkinliğini x ve y ile belirtilen ekran konumuna gönderir.

Bağımsız Değişkenler
x Dokunmanın gerçek cihaz pikselleri cinsinden yatay konumu, ekranın sol tarafından mevcut yönünde başlar.
y Dokunmanın gerçek cihaz piksel cinsinden dikey konumu (ekranın üst kısmından geçerli yönde)
tür Gönderilecek önemli etkinliğin türü. DOWN, UP ve DOWN_AND_UP değerlerine izin verilir.

void type (dize mesajı)

Mesajdaki karakterleri, cihazın klavyesine yazılmış gibi bu cihaza gönderir. Bu, DOWN_AND_UP önemli etkinlik türünü kullanarak message içindeki her bir tuş kodu için press() çağırmaya eşdeğerdir.

Bağımsız Değişkenler
mesaj Gönderilecek karakterleri içeren bir dize.

void uyanma ()

Bu cihazın ekranını uyandırır.


Ek

Tablo 1. getproperty() ve getSystemMülk() ile kullanılan özellik değişkeni adları.

Mülk Grubu Özellik Açıklama Notlar
build board Cihazın sistem kartı için kod adı Build ürününü inceleyin
brand İşletim sisteminin özelleştirildiği operatör veya sağlayıcı.
device Cihaz tasarımının adı.
fingerprint Şu anda çalışan derlemenin benzersiz tanımlayıcısı.
host
ID Değişiklik listesi numarası veya etiketi.
model Cihazın son kullanıcı tarafından görülebilen adı.
product Genel ürün adı.
tags Derlemeyi açıklayan "imzasız" ve "hata ayıklama" gibi virgülle ayrılmış etiketler.
type Derleme türü (ör. "user" veya "eng").
user
CPU_ABI CPU türü ve ABI kuralı biçiminde, yerel kod talimatı grubunun adı.
manufacturer Ürün/donanım üreticisi.
version.incremental Yazılımın bu sürümünü temsil etmek için kaynak kontrol sistemi tarafından kullanılan dahili kod.
version.release Yazılımın bu sürümünün kullanıcı tarafından görülebilen adı.
version.sdk OS'in bu sürümüyle ilişkilendirilmiş, kullanıcı tarafından görülebilen SDK sürümü.
version.codename Mevcut geliştirme kod adı veya yazılımın bu sürümü yayınlandıysa "REL".
display width Cihazın piksel olarak ekran genişliği. Ayrıntılar için DisplayMetrics sayfasını ziyaret edin.
height Cihazın piksel cinsinden ekran yüksekliği.
density Ekranın mantıksal yoğunluğu. Bu, DIP (Yoğunluktan Bağımsız Piksel) birimlerini cihazın çözünürlüğüne göre ölçeklendiren bir faktördür. DIP, inç başına 160 piksel ekranda 1 DIP, bir piksele eşit olacak şekilde ayarlanır. Örneğin, 160 dpi ekranda yoğunluk = 1,0 iken 120 dpi ekranda = 0,75.

Değer, gerçek ekran boyutuna tam olarak uymaz ancak ekran DPI değerindeki büyük değişikliklere uyum sağlayacak şekilde ayarlanır. Ayrıntılı bilgi için density sayfasını inceleyin.

am.current package Şu anda çalışan paketin Android paket adı. am.current tuşları, o anda çalışan Etkinlik hakkında bilgi döndürür.
action Geçerli etkinliğin işlemi. Bu, bir paket manifestindeki action öğesinin name özelliğiyle aynı biçime sahiptir.
comp.class Geçerli Etkinliği başlatan bileşenin sınıf adı. Ayrıntılı bilgi için comp.package sayfasını inceleyin.
comp.package Mevcut Etkinliği başlatan bileşenin paket adı. Bileşenler, paket adı ve paketin içerdiği sınıfın adıyla belirtilir.
data Geçerli Etkinliği başlatan Intent'te yer alan veriler (varsa).
categories Mevcut Etkinliği başlatan Intent tarafından belirtilen kategoriler.
clock realtime Derin uyku süresi de dahil olmak üzere, cihazın yeniden başlatılmasından bu yana geçen milisaniye sayısı. Daha fazla bilgi için SystemClock belgesine göz atın.
uptime Derin uyku süresi dahil değil, cihazın yeniden başlatılmasından bu yana geçen milisaniye sayısı
millis UNIX döneminden beri geçen geçerli süre (milisaniye cinsinden).