Fungsi aneh di ActivityManager: isUserAMonkey. Apa artinya ini, apa gunanya?

144

Saya menemukan fungsi berikut dalam paket android.app.ActivityManager.

public static boolean isUserAMonkey ()

The referensi menjelaskan:

public static boolean isUserAMonkey () Sejak: API Level 8

Mengembalikan "true" jika antarmuka pengguna saat ini sedang kacau oleh monyet.

Saya terkejut dengan fungsi aneh ini. Dan punya beberapa pertanyaan.

  • Apa artinya ini (antarmuka pengguna saat ini sedang dipermainkan oleh monyet)?

  • Apa kegunaan praktis dari fungsi ini?

  • Mengapa mereka menggunakan isUserAMonkeynama fungsi?

gtiwari333
sumber
Tidak ada dokumentasi yang tepat. Lalu bagaimana kita bisa menggunakan fungsinya. Mereka harus mendapatkan ulasan tentang dokumentasinya.
Mahendran
menurut jawaban oleh HefferWolf, metode ini digunakan untuk beberapa pengujian otomatis kerangka android (saya pikir), jadi kita tidak perlu menggunakan fungsi ini sama sekali .. jadi tidak perlu dokumentasi PROPER.
gtiwari333
10
Shock the monkey
Jeff Axelrod
Sepertinya saya seperti kode tes yang bocor ke perpustakaan produksi, dalam hal ini ActivityManager. Memiliki kode produksi Anda dapat diketahui apakah saat ini sedang diuji, dan mungkin mengubah tindakan itu dengan cara apa pun berdasarkan pengetahuan yang bekerja melawan seluruh titik kode pengujian yang dengan mudah mengarah ke Hisenbugs. Itu juga menambahkan cruft ke API membuatnya lebih sulit untuk dipahami dan dipelihara. Fakta bahwa pertanyaan SO ini bahkan ada adalah bukti yang cukup.
Melinda Green
Saya tertawa ketika saya melihat metode ini
Marcos Vasconcelos

Jawaban:

33

The Monkey adalah program yang berjalan pada emulator atau perangkat Anda dan menghasilkan aliran pseudo-acak peristiwa pengguna seperti klik, sentuhan, atau gerakan, serta sejumlah peristiwa tingkat sistem. Anda dapat menggunakan Monyet untuk menguji stres aplikasi yang Anda kembangkan, secara acak namun berulang.

cukup rujuk tautan ini juga:

harikrishnan
sumber