Catat ini! berbagai command ADB yang berguna untuk automation tester

Hallo Para Penguji Aplikasi Digital!

Pada saat saya mengembangkan kode automation untuk android, seringkali saya menemukan command penting dan berguna dalam membantu automation code saya dan saya simpan di snippet microsoft oneNote, dan setelah dipikir-pikir sangat mubazir kalo catatan itu saya simpan sendiri, jadi pada kesempatan kali ini akan saya tuliskan disini command Android Debug Bridge (ADB) apa saja yang bisa membantu pengujian kita

Buka kunci Ponsel

adb shell input keyevent  # idupin HP
adb shell input text yourpasscode # Masukin PIN
adb shell input keyevent KEYCODE_ENTER # tekan enter

Toggle status bar

#pull status bar
adb shell service call statusbar 1
#collapse status bar
adb shell service call statusbar 2

Buka/tutup app

#open app : 
adb shell monkey -p id.fachrul.packagename 1
# Open gmail
adb shell monkey -p com.google.android.gm 1 #close app :
adb shell am force-stop packagename # Close gmail adb shell am force-stop com.google.android.gm

 Tap di aplikasi

adb shell input tap x y

nah `x y` itu koordinat sumbu X dan Y, gimana cara dapetinnya?

# dump the current screen ui
adb shell uiautomator dump
# copy the xml file to computer
adb pull sdcard/window_dump.xml ~/Desktop/
# atau gini juga bisa
adb pull $(adb shell uiautomator dump | grep -oP '[^ ]+.xml') /sdcard/window_dump.xml

trus cek attribut "bounds" di element yang kita mau buat dapetin koordinatnya, hint: bisa juga sih dapetin koordinat dari uiautomatorviewer :D

Install aplikasi langsung

adb install -r namafile.apk

bisa ditambahin argument

adb -d = untuk device, 
adb -e = utk emulator,
adb -s = untuk ke serial number tertentu

atau klo mau sekaligus install apk di banyak devices 

alias apkinstall="adb devices | tail -n +2 | cut -sf 1 | xargs -I X adb -s X install -r $1"

# Penggunaannya Install an apk on all devices
apkinstall ~/Downloads/MyAppRelease.apk 

# atau klo cuma mau copy files apk nya doank
adb push <lokasi file path> /sdcard/

Hapus aplikasi

adb shell pm uninstall com.example.MyApp     
adb shell pm clear id.fachrul.package // Deletes all data associated with a package.

 

Buka aktivity langsung

adb shell am start -W -n com.gojek.life/com.gojek.golife.presentation.feature.LifeSplashActivity -S -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -f 0x10200000

Apa nama activity sekarang ini (lagi dibuka/focus)

adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp' 

Monkey test

adb shell monkey -p <nama package> -v --pct-syskeys 0 3000

adb shell monkey -p com.myAppPackage -v 10000 -s 100 // monkey tool is generating 10.000 random events on the real device

Filter adb log dengan lebih indah

pidcat <nama package>

nah pidcat ini adalah aplikasi tambahan based on python script, bisa di install mengikuti petunjuk disini 

Hapus log device

adb logcat -c

Ambil bug report berupa informasi dari device, dumpstate, dumpsys dan logcat output

adb bugreport > path_file_nya
adb logcat -b crash 

Ambil screenshoot

adb exec-out screencap -p > <nama_sshot>.png

 

Open deeplink

adb shell am start -a android.intent.action.VIEW -d "schema://link"

Reset permissions

adb shell pm reset-permissions -p your.app.package

Kasih permission

adb shell pm grant your.app.package

Key event

adb shell input keyevent 3 // Home btn
adb shell input keyevent 4 // Back btn

adb shell input keyevent 5 // Call

adb shell input keyevent 6 // End call

adb shell input keyevent 26  // Turn Android device ON and OFF. It will toggle device to on/off status.

adb shell input keyevent 27 // Camera

adb shell input keyevent 64 // Open browser

adb shell input keyevent 66 // Enter

adb shell input keyevent 67 // Delete (backspace)

adb shell input keyevent 207 // Contacts

adb shell input keyevent 220 / 221 // Brightness down/up

adb shell input keyevent 277 / 278 /279 // Cut/Copy/Paste

// https://developer.android.com/reference/android/view/KeyEvent.html


Ambil serial dari connected device

adb devices | tail -n +2 

Emulator

emulator -avd <nama emulatornya> -netdelay none -netspeed full 

 Cara menampilkan screen android di Windows/mac/linux (cocok buat presentasi)

Bisa menggunakan aplikasi Scrcpy aplikasi ini open source jadi bisa menjadi alternatif kamu yang biasa menggunakan Vysor, klo pake mac bisa langsung instal via `brew install scrcpy` trus jalanin nya tinggal jalanin command `scrcpy` atau klo mau lihat dia bisa ngapain aja bisa cekidot `scrcpy --help`

scrcpy --help
# mulai mirroring android, tapi tampilin juga lokasi sentuhan
scrcpy -t
# mirroring android sambil direkam
scrcpy -r coba_health.mp4
# klo ada lebih dari satu, bisa konek sesuai dengan serial device nya
scrcpy -s serial_1234

This article was updated on 12 Jun 2020

Comments