通常在做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” |