UIAutomator is a great tool to perform Android UI testing, but to do it, you have to write java code, compile it, install the jar, and run. It's a complex steps for all testers...
This project is to build a light weight jsonrpc server in Android device, so that we can just write PC side script to write UIAutomator tests.
- Run command:
$ ./gradlew build
$ ./gradlew packageDebugAndroidTest
- Run the jsonrcp server on Android device
$ ./gradlew cC
$ adb forward tcp:9008 tcp:9008 # tcp forward
Fast input method
Encode the text into UTF-8 and then Base64
For example:
"Hello 你好" -> (UTF-8 && Base64) = SGVsbG8g5L2g5aW9
Send to FastInputIME with broadcast
# Append text to input field
adb shell am broadcast -a ADB_INPUT_TEXT --es text SGVsbG8g5L2g5aW9
# Clear text
adb shell am broadcast -a ADB_CLEAR_TEXT
# Clear text before append text
adb shell am broadcast -a ADB_SET_TEXT --es text SGVsbG8g5L2g5aW9
# Send keycode, eg: ENTER
adb shell am broadcast -a ADB_INPUT_KEYCODE --ei code 66
# Send Editor code
adb shell am broadcast -a ADB_EDITOR_CODE --ei code 2 # IME_ACTION_GO
You can change mock location from terminal using adb in order to test GPS on real devices.
adb [-s <specific device>] shell am broadcast -a send.mock [-e lat <latitude>] [-e lon <longitude>]
[-e alt <altitude>] [-e accurate <accurate>]
For example:
adb shell am broadcast -a send.mock -e lat 15.3 -e lon 99
from uiautomator import device as d
d.screen.on()
d(text="Settings").click()
d(scrollable=True).scroll.vert.forward()
Refer to python wrapper library uiautomator.
npm install -g conventional-changelog-cli
conventional-changelog -p grunt -i CHANGELOG.md -s -r 0
If you have any idea, please email codeskyblue@gmail.com or submit tickets.
- support unicode input