Bagaimana cara mensimulasikan kejadian sentuh dengan Android sambil memberikan koordinat X dan Y secara manual?
android
adb
gesture-recognition
indira
sumber
sumber
Jawaban:
Metode Valentin Rocher berfungsi jika Anda telah memperluas pandangan Anda, tetapi jika Anda menggunakan pendengar acara, gunakan ini:
Untuk lebih lanjut tentang mendapatkan objek MotionEvent, berikut ini jawaban yang sangat bagus: Android: Bagaimana cara membuat MotionEvent?
sumber
downTime
akan menjadi waktu saat pengguna menyentuh layar, sedangkaneventTime
dalam kasus ini adalah saat pengguna mengangkat jari ke atas (ACTION_UP
). Saya tidak yakin apakah itu akan tetap berfungsi jika keduanya sama. Anda dapat mengujinya dan memposting hasil Anda.Berikut adalah skrip monkeyrunner yang mengirimkan sentuhan dan seret ke aplikasi. Saya telah menggunakan ini untuk menguji apakah aplikasi saya dapat menangani gerakan gesek berulang yang cepat.
sumber
MonkeyDevice.DOWN_AND_UP
bukan'DOWN_AND_UP'
. (DOWN_AND_UP
adalah default, jadi kode Anda masih berfungsi)UP
tindakangunakan Perintah adb Shell untuk mensimulasikan peristiwa sentuh
sumber
Jika saya mengerti dengan jelas, Anda ingin melakukan ini secara terprogram. Kemudian, Anda dapat menggunakan metode onTouchEvent
View
, dan membuatMotionEvent
dengan koordinat yang Anda butuhkan.sumber
Anda harus mencoba monkeyrunner baru . Mungkin ini bisa menyelesaikan masalah Anda. Anda meletakkan kode kunci di dalamnya untuk pengujian, mungkin peristiwa sentuh juga dimungkinkan.
sumber
adb shell monkey
itumonkeyrunner
, yang merupakan alat yang berbeda.Saat menggunakan Monkey Script saya perhatikan bahwa DispatchPress (KEYCODE_BACK) tidak melakukan apa pun yang benar-benar payah. Dalam banyak kasus, hal ini disebabkan oleh fakta bahwa Aktivitas tidak menggunakan event Key. Solusi untuk masalah ini adalah dengan menggunakan campuran perintah monkey script dan adb shell secara berurutan.
1 Menggunakan skrip monyet memberikan kontrol waktu yang bagus. Tunggu beberapa detik untuk aktivitas dan panggilan adb memblokir.
2 Akhirnya, mengirim adb shell input keyevent 4 akan mengakhiri APK yang berjalan.
MISALNYA
adb shell monkey -p com.my.application -v -v -v -f /sdcard/monkey_script.txt 1
kejadian kunci masukan shell adb 4
sumber
MotionEvent dibuat hanya dengan menyentuh layar.
sumber