通常在做app测试的时候,我们都会用到一些开机键,返回键,home键等一系列的操作来帮助我们测试,那么在自动化中如何实现这些呢?
keyevent
keyevent表示android中的模拟手机的一些按键。
官网:https://developer.android.com/reference/android/view/KeyEvent
格式:
# 直接输入数字 adb shell input keyevent KEYCODE_HOME # 输入字符串 adb shell input keyevent 3
小试牛刀
我们通过实例进行演示下,在代码中如何操作。
# coding:utf-8 from appium import webdriver import time import os desired_caps = { 'platformName': 'Android', # 测试版本 'deviceName': 'emulator-5554', # 设备名 'platformVersion': '5.1.1', # 系统版本 "appPackage": "com.taobao.taobao", # app包名 "appActivity": "com.taobao.tao.welcome.Welcome", # 启动launch Activity "noReset": True, # 不清空数据 "unicodeKeyboard": True, # 使用Unicode编码方式发送字符串 "resetKeyboard": True, # 键盘隐藏起来 } driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) time.sleep(10) # 点击home键 adb = 'adb shell input keyevent 3' os.popen(adb) print('返回首页了!')
封装keyevent
我们可以把常用的keyevent都封装起来,然后用的时候可以直接进行调用
import os class Keyevent(object): '''常用的keyevent''' KEYCODE_BACK = 4 # 返回键 KEYCODE_HOME =3 # home KEYCODE_POWER = 26 # 电源键 KEYCODE_FORWARD_DEL = 112 # 删除键 KEYCODE_DPAD_UP = 19 # 向上 def adbkeyevent(self,keyevent): adb = 'adb shell input keyevent %s'% keyevent os.popen(adb) if __name__ == '__main__': adb = Keyevent() adb.adbkeyevent(3)
常用的keyevent
通过官网总结了一些keyevent,希望能帮助到大家
0 | KEYCODE_UNKNOWN | 未知按键 |
1 | KEYCODE_SOFT_LEFT | 按键 Soft Left |
2 | KEYCODE_SOFT_RIGHT | 按键 Soft Right |
3 | KEYCODE_HOME | 按键 Home |
4 | KEYCODE_BACK | 返回键 |
5 | KEYCODE_CALL | 拨号键 |
6 | KEYCODE_ENDCALL | 挂机键 |
7 | KEYCODE_0 | 按键 '0' |
8 | KEYCODE_1 | 按键 '1' |
9 | KEYCODE_2 | 按键 '2' |
10 | KEYCODE_3 | 按键 '3' |
11 | KEYCODE_4 | 按键 '4' |
12 | KEYCODE_5 | 按键 '5' |
13 | KEYCODE_6 | 按键 '6' |
14 | KEYCODE_7 | 按键 '7' |
15 | KEYCODE_8 | 按键 '8' |
16 | KEYCODE_9 | 按键 '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 | 按键 Clear |
29 | KEYCODE_A | 按键 A |
30 | KEYCODE_B | 按键 B |
31 | KEYCODE_C | 按键 C |
32 | KEYCODE_D | 按键 D |
33 | KEYCODE_E | 按键 E |
34 | KEYCODE_F | 按键 F |
35 | KEYCODE_G | 按键 G |
36 | KEYCODE_H | 按键 H |
37 | KEYCODE_I | 按键 I |
38 | KEYCODE_J | 按键 J |
39 | KEYCODE_K | 按键 K |
40 | KEYCODE_L | 按键 L |
41 | KEYCODE_M | 按键 M |
42 | KEYCODE_N | 按键 N |
43 | KEYCODE_O | 按键 O |
44 | KEYCODE_P | 按键 P |
45 | KEYCODE_Q | 按键 Q |
46 | KEYCODE_R | 按键 R |
47 | KEYCODE_S | 按键 S |
48 | KEYCODE_T | 按键 T |
49 | KEYCODE_U | 按键 U |
50 | KEYCODE_V | 按键 V |
51 | KEYCODE_W | 按键 W |
52 | KEYCODE_X | 按键 X |
53 | KEYCODE_Y | 按键 Y |
54 | KEYCODE_Z | 按键 Z |
55 | KEYCODE_COMMA | 按键 ',' |
56 | KEYCODE_PERIOD | 按键 '.' |
57 | KEYCODE_ALT_LEFT | Alt + Left |
58 | KEYCODE_ALT_RIGHT | Alt + Right |
59 | KEYCODE_SHIFT_LEFT | Shift + Left |
60 | KEYCODE_SHIFT_RIGHT | Shift + Right |
61 | KEYCODE_TAB | Tab 键 |
62 | KEYCODE_SPACE | 空格键 |
63 | KEYCODE_SYM | 按键 Symbol modifier |
64 | KEYCODE_EXPLORER | 按键 Explorer special function |
65 | KEYCODE_ENVELOPE | 按键 Envelope special function |
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 | 按键 Number modifier |
79 | KEYCODE_HEADSETHOOK | 按键 Headset Hook |
80 | KEYCODE_FOCUS | 拍照 对焦键 |
81 | KEYCODE_PLUS | 按键 '+' |
82 | KEYCODE_MENU | 菜单键 |
83 | KEYCODE_NOTIFICATION | 通知键 |
84 | KEYCODE_SEARCH | 搜索键 |
85 | TAG_LAST_KEYCODE | |
86 | KEYCODE_MEDIA_STOP | 多媒体键 停止 |
87 | KEYCODE_MEDIA_NEXT | 多媒体键 下一首 |
88 | KEYCODE_MEDIA_PREVIOUS | 多媒体键 上一首 |
89 | KEYCODE_MEDIA_REWIND | 多媒体键 快退 |
90 | KEYCODE_MEDIA_FAST_FORWARD | 多媒体键 快进 |
91 | KEYCODE_MUTE | 话筒静音键 |
92 | KEYCODE_PAGE_UP | 向上翻页键 |
93 | KEYCODE_PAGE_DOWN | 向下翻页键 |
94 | KEYCODE_PICTSYMBOLS | 按键 Picture Symbols modifier |
95 | KEYCODE_SWITCH_CHARSET | 按键 Switch Charset modifier |
96 | KEYCODE_BUTTON_A | 游戏手柄按钮 A |
97 | KEYCODE_BUTTON_B | 游戏手柄按钮 B |
98 | KEYCODE_BUTTON_C | 游戏手柄按钮 C |
99 | KEYCODE_BUTTON_X | 游戏手柄按钮 X |
100 | KEYCODE_BUTTON_Y | 游戏手柄按钮 Y |
101 | KEYCODE_BUTTON_Z | 游戏手柄按钮 Z |
102 | KEYCODE_BUTTON_L1 | 游戏手柄按钮 L1 |
103 | KEYCODE_BUTTON_R1 | 游戏手柄按钮 R1 |
104 | KEYCODE_BUTTON_L2 | 游戏手柄按钮 L2 |
105 | KEYCODE_BUTTON_R2 | 游戏手柄按钮 R2 |
106 | KEYCODE_BUTTON_THUMBL | Left Thumb Button |
107 | KEYCODE_BUTTON_THUMBR | Right Thumb Button |
108 | KEYCODE_BUTTON_START | 游戏手柄按钮 Start |
109 | KEYCODE_BUTTON_SELECT | 游戏手柄按钮 Select |
110 | KEYCODE_BUTTON_MODE | 游戏手柄按钮 Mode |
111 | KEYCODE_ESCAPE | ESC 键 |
112 | KEYCODE_FORWARD_DEL | 删除键 |
113 | KEYCODE_CTRL_LEFT | Control + Left |
114 | KEYCODE_CTRL_RIGHT | Control + Right |
115 | KEYCODE_CAPS_LOCK | 大写锁定键 |
116 | KEYCODE_SCROLL_LOCK | 滚动锁定键 |
117 | KEYCODE_META_LEFT | 按键 Left Meta modifier |
118 | KEYCODE_META_RIGHT | 按键 Right Meta modifier |
119 | KEYCODE_FUNCTION | 按键 Function modifier |
120 | KEYCODE_SYSRQ | 按键 System Request / Print Screen |
121 | KEYCODE_BREAK | Break/Pause键 |
122 | KEYCODE_MOVE_HOME | 光标移动到开始键 |
123 | KEYCODE_MOVE_END | 光标移动到末尾键 |
124 | KEYCODE_INSERT | 插入键 |
125 | KEYCODE_FORWARD | 按键 Forward |
126 | KEYCODE_MEDIA_PLAY | 多媒体键 播放 |
127 | KEYCODE_MEDIA_PAUSE | 多媒体键 暂停 |
128 | KEYCODE_MEDIA_CLOSE | 多媒体键 关闭 |
129 | KEYCODE_MEDIA_EJECT | 多媒体键 弹出 |
130 | KEYCODE_MEDIA_RECORD | 多媒体键 录音 |
131 | KEYCODE_F1 | 按键 F1 |
132 | KEYCODE_F2 | 按键 F2 |
133 | KEYCODE_F3 | 按键 F3 |
134 | KEYCODE_F4 | 按键 F4 |
135 | KEYCODE_F5 | 按键 F5 |
136 | KEYCODE_F6 | 按键 F6 |
137 | KEYCODE_F7 | 按键 F7 |
138 | KEYCODE_F8 | 按键 F8 |
139 | KEYCODE_F9 | 按键 F9 |
140 | KEYCODE_F10 | 按键 F10 |
141 | KEYCODE_F11 | 按键 F11 |
142 | KEYCODE_F12 | 按键 F12 |
143 | KEYCODE_NUM_LOCK | 小键盘锁 |
144 | KEYCODE_NUMPAD_0 | 小键盘按键 '0' |
145 | KEYCODE_NUMPAD_1 | 小键盘按键 '1' |
146 | KEYCODE_NUMPAD_2 | 小键盘按键 '2' |
147 | KEYCODE_NUMPAD_3 | 小键盘按键 '3' |
148 | KEYCODE_NUMPAD_4 | 小键盘按键 '4' |
149 | KEYCODE_NUMPAD_5 | 小键盘按键 '5' |
150 | KEYCODE_NUMPAD_6 | 小键盘按键 '6' |
151 | KEYCODE_NUMPAD_7 | 小键盘按键 '7' |
152 | KEYCODE_NUMPAD_8 | 小键盘按键 '8' |
153 | KEYCODE_NUMPAD_9 | 小键盘按键 '9' |
154 | KEYCODE_NUMPAD_DIVIDE |
小键盘按键 '/' |
155 | KEYCODE_NUMPAD_MULTIPLY | 小键盘按键 '*' |
156 | KEYCODE_NUMPAD_SUBTRACT | 小键盘按键 '-' |
157 | KEYCODE_NUMPAD_ADD | 小键盘按键 '+' |
158 | KEYCODE_NUMPAD_DOT | 小键盘按键 '.' |
159 | KEYCODE_NUMPAD_COMMA | 小键盘按键 ',' |
160 | KEYCODE_NUMPAD_ENTER | 小键盘按键回车 |
161 | KEYCODE_NUMPAD_EQUALS | 小键盘按键 '=' |
162 | KEYCODE_NUMPAD_LEFT_PAREN | 小键盘按键 '(' |
163 | KEYCODE_NUMPAD_RIGHT_PAREN | 小键盘按键 ')' |
164 | KEYCODE_VOLUME_MUTE | 扬声器静音键 |
165 | KEYCODE_INFO | 按键 Info |
166 | KEYCODE_CHANNEL_UP | 按键 Channel up |
167 | KEYCODE_CHANNEL_DOWN | 按键 Channel down |
168 | KEYCODE_ZOOM_IN | 放大键 |
169 | KEYCODE_ZOOM_OUT | 缩小键 |
170 | KEYCODE_TV | 按键 TV |
171 | KEYCODE_WINDOW | 按键 Window |
172 | KEYCODE_GUIDE | 按键 Guide |
173 | KEYCODE_DVR | 按键 DVR |
174 | KEYCODE_BOOKMARK | 按键 Bookmark |
175 | KEYCODE_CAPTIONS | 按键 Toggle captions |
176 | KEYCODE_SETTINGS | 按键 Settings |
177 | KEYCODE_TV_POWER | 按键 TV power |
178 | KEYCODE_TV_INPUT | 按键 TV input |
179 | KEYCODE_STB_POWER | 按键 Set-top-box power |
180 | KEYCODE_STB_INPUT | 按键 Set-top-box input |
181 | KEYCODE_AVR_POWER | 按键 A/V Receiver power |
182 | KEYCODE_AVR_INPUT | 按键 A/V Receiver input |
183 | KEYCODE_PROG_RED | 按键 Red “programmable” |
184 | KEYCODE_PROG_GREEN | 按键 Green “programmable” |