mirror of
https://github.com/beemdevelopment/Aegis.git
synced 2025-04-25 16:26:08 +00:00
This patch adds an initial set of UI tests for Aegis built using Espresso. It covers a fair bit of the essential functionality of the app, but there are lots more tests we could add later on. This also reconfigures our Travis CI build manifest to run the tests on API 21, 23, 27 and 28 emulators. It was a real pain to get this to work well, but let's hope it's stable now. I had to downgrade ``com.google.android.material`` to 1.0.0, because 1.1.0 introduced an issue where the test would hang.
33 lines
817 B
Bash
Executable file
33 lines
817 B
Bash
Executable file
#!/bin/bash
|
|
|
|
# source: https://gist.github.com/d4vidi/7862d60375b38f8970f824c4ce0ad2a9
|
|
|
|
echo ""
|
|
echo "[Waiting for launcher to start]"
|
|
LAUNCHER_READY=
|
|
while [[ -z ${LAUNCHER_READY} ]]; do
|
|
UI_FOCUS=`adb shell dumpsys activity activities 2>/dev/null | grep -i mResumedActivity`
|
|
echo "(DEBUG) Current focus: ${UI_FOCUS}"
|
|
|
|
case $UI_FOCUS in
|
|
*"Launcher"*)
|
|
LAUNCHER_READY=true
|
|
;;
|
|
"")
|
|
echo "Waiting for window service..."
|
|
sleep 3
|
|
;;
|
|
*"Not Responding"*)
|
|
echo "Detected an ANR! Dismissing..."
|
|
adb shell input keyevent KEYCODE_DPAD_DOWN
|
|
adb shell input keyevent KEYCODE_DPAD_DOWN
|
|
adb shell input keyevent KEYCODE_ENTER
|
|
;;
|
|
*)
|
|
echo "Waiting for launcher..."
|
|
sleep 3
|
|
;;
|
|
esac
|
|
done
|
|
|
|
echo "Launcher is ready :-)"
|