The Monkey, bilgisayarınızda çalışan bir emülatör veya cihaz oluşturup sanal rastgele oluşturur tıklamalar, dokunmalar veya hareketler gibi kullanıcı etkinliklerinin akışları ve ayrıca etkinlikler. Monkey'i, geliştirmekte olduğunuz uygulamaları stres testiyle rastgele bir şekilde yapmak için kullanabilirsiniz bir yöntem seçmeye özen gösterin.
Genel Bakış
Monkey, herhangi bir emülatörde çalıştırabileceğiniz bir komut satırı aracıdır cihaz üzerinde test eder. Sonucunda rastgele bir akıştan bu sisteme, kullandığınız uygulama yazılımı üzerinde bir stres testi olarak işlev görür geliştiriyoruz.
Maymunda çeşitli seçenekler vardır ancak bunlar dört ana kategoriye ayrılır. kategoriler:
- Denenecek etkinlik sayısının belirlenmesi gibi temel yapılandırma seçenekleri.
- Testi tek bir paketle kısıtlamak gibi operasyonel kısıtlamalar.
- Etkinlik türleri ve sıklıkları.
- Hata ayıklama seçenekleri.
Maymun çalıştığında etkinlikler oluşturur ve bunları sisteme gönderir. Ayrıca izler sistemi test eder ve özellikle ele aldığı üç koşul arar:
- Monkey'i bir veya daha çok belirli pakette çalıştırmaya zorladıysanız diğer paketlere gitme girişimlerini tespit edip engeller.
- Uygulamanız kilitlenirse veya işlenmemiş herhangi bir istisna alırsa, Monkey durup hatayı bildirir.
- Uygulamanız uygulama yanıt vermiyor hatası oluşturursa Maymun durup hatayı bildirir.
Seçtiğiniz ayrıntı düzeyine bağlı olarak, ilerleme durumuyla ilgili raporlar da görürsünüz ilişkin her şeyi görüntüleyebilirsiniz.
Maymun'un temel kullanımı
Monkey'i, geliştirme makinenizdeki bir komut satırını kullanarak veya bir komut dosyasından başlatabilirsiniz.
Monkey emülatör/cihaz ortamında çalıştığı için onu
teslim etmeye yardımcı olur. Bunu her komutun önüne adb shell
ekleyerek yapabilirsiniz.
ya da kabuğa girip Monkey komutlarını doğrudan girebilirsiniz.
Temel söz dizimi şöyledir:
$ adb shell monkey [options] <event-count>
Herhangi bir seçenek belirtilmediğinde Monkey, sessiz (ayrıntılı olmayan) bir modda başlar ve hedefnizde yüklü olan tüm (ve tüm) paketlere etkinlik atayın. Burada daha genel bir komut satırı verilmiştir. Bu da uygulamanızı başlatır ve 500 sözde rastgele etkinlik gönderir:
$ adb shell monkey -p your.package.name -v 500
Komut seçenekleri referansı
Aşağıdaki tabloda, Monkey komut satırına ekleyebileceğiniz tüm seçenekler listelenmiştir.
Kategori | Option | Açıklama |
---|---|---|
Genel | --help |
Basit bir kullanım kılavuzu yazdırır. |
-v |
Komut satırındaki her -v komutu ayrıntı düzeyini artırır. 0. Düzey (varsayılan) yalnızca başlangıç bildirimi, testin tamamlanması ve testin tamamlanması dışında çok az bilgi sağlar. nihai sonuçlar. 1. Düzey, test çalışırken test hakkında daha fazla ayrıntı sağlar (ör. teste her ve en iyi uygulamaları paylaşacağız. 2. Seviye, seçilen veya seçilmeyen etkinlikler gibi daha ayrıntılı kurulum bilgileri sunar. teşvik etmek anlamına gelir. | |
Etkinlikler | -s <seed> |
Sözde rastgele sayı oluşturucu için başlangıç noktası değeri. Maymun'u aynı tohumla tekrar çalıştırırsanız değeri kullanılırsa aynı etkinlik dizisini oluşturur. |
--throttle <milliseconds> |
Etkinlikler arasına sabit bir gecikme ekler. Maymun'u yavaşlatmak için bu seçeneği kullanabilirsiniz. Belirtilmezse gecikme olmaz ve etkinlikler mümkün olduğunca hızlı bir şekilde oluşturulur. | |
--pct-touch <percent> |
Dokunma etkinliklerinin yüzdesini ayarlayın. (Dokunma etkinlikleri, ekranda tek bir yerde aşağı doğru gerçekleşen etkinliklerdir.) | |
--pct-motion <percent> |
Hareket etkinliklerinin yüzdesini ayarlayın. (Hareket etkinlikleri, ekranın bir yerindeki aşağı bir etkinlik, bir dizi sözde rastgele bir etkinlikten oluşur. hareketler ve yukarı yönlü bir etkinliktir.) | |
--pct-trackball <percent> |
Trackball etkinliklerinin yüzdesini ayarlayın. (Trackball etkinlikleri bir veya daha fazla rastgele hareketten ve bazen ardından bir tıklamadan oluşur.) | |
--pct-nav <percent> |
"Temel" yüzdesini ayarla gezinme etkinlikleri anlamına gelir. (Navigasyon etkinlikleri, yön giriş cihazından gelen giriş olarak yukarı/aşağı/sol/sağ yönlerinden oluşur.) | |
--pct-majornav <percent> |
"Ana" erişim yüzdesini ayarla gezinme etkinlikleri anlamına gelir. (Bunlar genellikle kullanıcı arayüzünde ortadaki düğmeyi, geri tuşuna veya menü tuşuna basın.) | |
--pct-syskeys <percent> |
"Sistem" yüzdesini ayarla önemli etkinliklerdir. (Bunlar genellikle sistem tarafından kullanılmak üzere ayrılmış anahtarlardır; örneğin, Ana Ekran, Geri, Arama Başlat, Çağrıyı Sonlandır veya Ses kontrollerine dokunun.) | |
--pct-appswitch <percent> |
Aktivite başlatma yüzdelerini ayarlayın. Monkey, rastgele aralıklarla, en üst düzeye çıkarmak için bir startActivity() çağrısı yapar tüm aktiviteleri kapsamaktadır. | |
--pct-anyevent <percent> |
Diğer etkinlik türlerinin yüzdesini ayarlayın. Bu, tuşlara basma ve daha az kullanılan diğer etkinlik türleri için her şeyi kapsar. cihazdaki düğmeler ve diğer işlemler. | |
Kısıtlamalar | -p <allowed-package-name> |
Bu şekilde bir veya daha fazla paket belirtirseniz Monkey yalnızca sisteme izin verir bu paketlerdeki etkinlikleri ziyaret etmek için kullanır. Uygulamanız, içindeki etkinliklere erişim gerektiriyorsa diğer paketler (ör. kişi seçmek için) o paketleri de belirtmeniz gerekir. Paket belirtmezseniz Monkey, sistemin etkinlikleri başlatmasına izin verir kullanabilirsiniz. Birden çok paket belirtmek için -p seçeneğini birden çok kez kullanın — bir -p seçeneği olur. |
-c <main-category> |
Bu şekilde bir veya daha fazla kategori belirtirseniz Maymun yalnızca sistemin, belirtilen kategorilerden birinde listelenen etkinlikleri ziyaret etmesine olanak tanır. Herhangi bir kategori belirtmezseniz Maymun bu kategoriyle listelenen etkinlikleri seçer Intent.CATEGORY_LAUNCHER veya Intent.CATEGORY_MONKEY. Birden çok kategori belirtmek için -c işaretini kullanın seçeneğini birden fazla kez kullanın (kategori başına bir -c seçeneği). | |
Hata ayıklama | --dbg-no-events |
Bu parametre belirtildiğinde Maymun, ilk lansmanı bir test etkinliğine gerçekleştirir ancak başka etkinlik oluşturmaz. En iyi sonuçlar için -v, bir veya daha fazla paket kısıtlaması ve sıfır olmayan bir kısıtlama ile birleştirerek Maymun'u canlı tutun 30 saniye veya daha uzun süre çalışıyorsa. Bu, paketi izleyebileceğiniz bir ortam sağlar. her şeyi kapsayabilir. |
--hprof |
Bu seçenek ayarlanırsa Monkey'den hemen önce ve sonra profil oluşturma raporları etkinlik dizisidir. Bu işlem, verilerde/karmaşıklarda büyük (~5 Mb) dosyalar oluşturacağından dikkatli kullanın. Örneğin, profil oluşturma raporlarını analiz etme hakkında daha fazla bilgi için Uygulamanızın profili oluşturma performans metriğine bakın. | |
--ignore-crashes |
Normalde uygulama çöktüğünde veya herhangi bir tür sorunla karşılaştığında Maymun durur işlenmemiş istisna. Bu seçeneği belirlerseniz Maymun etkinlikleri sayım tamamlanana kadar takip etmeye devam edin. | |
--ignore-timeouts |
Normalde uygulama, bu tür bir zaman aşımı hatasıyla karşılaştığında Maymun duracaktır "Uygulama Yanıt Vermiyor" olarak iletişim kutusu. Bu seçeneği belirlerseniz Maymun Bu, sayım tamamlanana kadar sisteme etkinlik gönderir. | |
--ignore-security-exceptions |
Normalde, uygulama herhangi bir izin hatasıyla karşılaştığında Maymun duracaktır Örneğin, belirli izinleri gerektiren bir etkinlik başlatmaya çalıştığında. Örneğin Bu seçenek belirlendiğinde, Maymun sisteme etkinlik göndermeye devam eder ve tamamlandı. | |
--kill-process-after-error |
Normalde, maymun bir hata nedeniyle durduğunda, başarısız olan uygulama bırakılır çalışıyor. Bu seçenek belirlendiğinde sisteme, hatanın meydana geldiği işlemi durdurması için sinyal verir. meydana geldi. Normal (başarıyla) tamamlandığında başlatılan işlemlerin durdurulmadığını ve cihaz, son etkinlikten sonraki son durumda bırakılır. | |
--monitor-native-crashes |
Android sisteminin yerel kodunda meydana gelen kilitlenmeleri tespit eder ve bildirir. --kill-Process-after-error ayarlanırsa sistem durur. | |
--wait-dbg |
Maymun, ona bir hata ayıklayıcı eklenene kadar yürütme işlemini durdurur. |