Say you are writing an Appium test for Android and you are required to interact with native Android keyboard. Let’s take a test scenario
It could be simply done by using something called “SendKeyEvent”
driver.sendKeyEvent(key);
Now, how do you know about the key you want to pass to “SendKeyEvent”? Below is the list (table) of keys for your reference.
To verify that it works in your script, you can check them using ADB. Assuming you have your Android SDK properly installed and configured, you can do the following.
Example: adb shell input keyevent “KEYCODE_HOME” will PRESS the Home button
You can also enter text using ADB shell like the following
Example: adb shell input text “SomeText”
If you want to use spaces in your text, use %s
Example: adb shell input text “Some%sText” will print Some Text using Android keyboard.
Hope you find this article useful. If you have any suggestions, kindly let us know. We would like to hear from you.
Don’t forget to share and comment, if you like the post.
- Launch the application
- Tap on the Search bar/box/button
- Enter the search term
- Tap on Enter key on native Android keyboard.
It could be simply done by using something called “SendKeyEvent”
driver.sendKeyEvent(key);
Now, how do you know about the key you want to pass to “SendKeyEvent”? Below is the list (table) of keys for your reference.
To verify that it works in your script, you can check them using ADB. Assuming you have your Android SDK properly installed and configured, you can do the following.
- Open command prompt (on windows)
- Use command “adb devices” to make sure that the devices you want to interact with is available in the list returned by adb
- Then you can endter “adb shell input keyevent <keycode>” use <keycode> from the below table as per your requirements
Example: adb shell input keyevent “KEYCODE_HOME” will PRESS the Home button
You can also enter text using ADB shell like the following
Example: adb shell input text “SomeText”
If you want to use spaces in your text, use %s
Example: adb shell input text “Some%sText” will print Some Text using Android keyboard.
KeyEvent Code |
KeyEvent |
---|---|
0 | "KEYCODE_UNKNOWN" |
1 | "KEYCODE_MENU" |
2 | "KEYCODE_SOFT_RIGHT" |
3 | "KEYCODE_HOME" |
4 | "KEYCODE_BACK" |
5 | "KEYCODE_CALL" |
6 | "KEYCODE_ENDCALL" |
7 | "KEYCODE_0" |
8 | "KEYCODE_1" |
9 | "KEYCODE_2" |
10 | "KEYCODE_3" |
11 | "KEYCODE_4" |
12 | "KEYCODE_5" |
13 | "KEYCODE_6" |
14 | "KEYCODE_7" |
15 | "KEYCODE_8" |
16 | "KEYCODE_9" |
17 | "KEYCODE_STAR" |
18 | "KEYCODE_POUND" |
19 | "KEYCODE_DPAD_UP" |
20 | "KEYCODE_DPAD_DOWN" |
21 | "KEYCODE_DPAD_LEFT" |
22 | "KEYCODE_DPAD_RIGHT" |
23 | "KEYCODE_DPAD_CENTER" |
24 | "KEYCODE_VOLUME_UP" |
25 | "KEYCODE_VOLUME_DOWN" |
26 | "KEYCODE_POWER" |
27 | "KEYCODE_CAMERA" |
28 | "KEYCODE_CLEAR" |
29 | "KEYCODE_A" |
30 | "KEYCODE_B" |
31 | "KEYCODE_C" |
32 | "KEYCODE_D" |
33 | "KEYCODE_E" |
34 | "KEYCODE_F" |
35 | "KEYCODE_G" |
36 | "KEYCODE_H" |
37 | "KEYCODE_I" |
38 | "KEYCODE_J" |
39 | "KEYCODE_K" |
40 | "KEYCODE_L" |
41 | "KEYCODE_M" |
42 | "KEYCODE_N" |
43 | "KEYCODE_O" |
44 | "KEYCODE_P" |
45 | "KEYCODE_Q" |
46 | "KEYCODE_R" |
47 | "KEYCODE_S" |
48 | "KEYCODE_T" |
49 | "KEYCODE_U" |
50 | "KEYCODE_V" |
51 | "KEYCODE_W" |
52 | "KEYCODE_X" |
53 | "KEYCODE_Y" |
54 | "KEYCODE_Z" |
55 | "KEYCODE_COMMA" |
56 | "KEYCODE_PERIOD" |
57 | "KEYCODE_ALT_LEFT" |
58 | "KEYCODE_ALT_RIGHT" |
59 | "KEYCODE_SHIFT_LEFT" |
60 | "KEYCODE_SHIFT_RIGHT" |
61 | "KEYCODE_TAB" |
62 | "KEYCODE_SPACE" |
63 | "KEYCODE_SYM" |
64 | "KEYCODE_EXPLORER" |
65 | "KEYCODE_ENVELOPE" |
66 | "KEYCODE_ENTER" |
67 | "KEYCODE_DEL" |
68 | "KEYCODE_GRAVE" |
69 | "KEYCODE_MINUS" |
70 | "KEYCODE_EQUALS" |
71 | "KEYCODE_LEFT_BRACKET" |
72 | "KEYCODE_RIGHT_BRACKET" |
73 | "KEYCODE_BACKSLASH" |
74 | "KEYCODE_SEMICOLON" |
75 | "KEYCODE_APOSTROPHE" |
76 | "KEYCODE_SLASH" |
77 | "KEYCODE_AT" |
78 | "KEYCODE_NUM" |
79 | "KEYCODE_HEADSETHOOK" |
80 | "KEYCODE_FOCUS" |
81 | "KEYCODE_PLUS" |
82 | "KEYCODE_MENU" |
83 | "KEYCODE_NOTIFICATION" |
84 | "KEYCODE_SEARCH" |
85 | "TAG_LAST_KEYCODE" |
Don’t forget to share and comment, if you like the post.
Comments
Post a Comment