通常在做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-8from appium import webdriverimport timeimport osdesired_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 osclass 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”

更多相关文章

  1. Android中实现图文并茂的按钮实例代码
  2. Android(安卓)程式开发:(一)详解Activity —— 1.4显示“普通”对话
  3. android点击返回键退出应用的实现
  4. Android(安卓)SDK 2.3与Eclipse最新版开发环境搭建(五)
  5. Android(安卓)WindowManager悬浮窗
  6. mono for android读书笔记之真机调试
  7. Android——点击对话框上按钮不关闭对话框
  8. android之按钮添加声音
  9. Android(安卓)SDK 2.3与Eclipse最新版开发环境搭建(二)

随机推荐

  1. Android(安卓)自动编译、打包生成apk文件
  2. BitRaser for Mobile iOS和Android移动设
  3. Android智能硬件开发心得总结(一)
  4. 详解Android广播机制
  5. Android基础入门知识
  6. android 资源文件学习
  7. 丢失Android系统库或者Conversion to Dal
  8. Android(安卓)Bmob后端云—数据库、服务
  9. 刚进入Android终端即可使用busybox的命令
  10. 当我们按下电源键,Android(安卓)究竟做了