appium---操作手机按键(adb shell input keyevent )

597 篇文章 17 订阅
39 篇文章 1 订阅

通常在做app测试的时候,我们都会用到一些开机键,返回键,home键等一系列的操作来帮助我们测试,那么在自动化中如何实现这些呢?

keyevent

keyevent表示android中的模拟手机的一些按键。

格式:

# 直接输入数字
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,希望能帮助到大家

0KEYCODE_UNKNOWN未知按键
1KEYCODE_SOFT_LEFT按键 Soft Left
2KEYCODE_SOFT_RIGHT按键 Soft Right
3KEYCODE_HOME按键 Home
4KEYCODE_BACK返回键
5KEYCODE_CALL拨号键
6KEYCODE_ENDCALL挂机键
7KEYCODE_0按键 ‘0’
8KEYCODE_1按键 ‘1’
9KEYCODE_2按键 ‘2’
10KEYCODE_3按键 ‘3’
11KEYCODE_4按键 ‘4’
12KEYCODE_5按键 ‘5’
13KEYCODE_6按键 ‘6’
14KEYCODE_7按键 ‘7’
15KEYCODE_8按键 ‘8’
16KEYCODE_9按键 ‘9’
17KEYCODE_STAR按键 ‘*’
18KEYCODE_POUND按键 ‘#’
19KEYCODE_DPAD_UP导航键 向上
20KEYCODE_DPAD_DOWN导航键 向下
21KEYCODE_DPAD_LEFT导航键 向左
22KEYCODE_DPAD_RIGHT导航键 向右
23KEYCODE_DPAD_CENTER导航键 确定键
24KEYCODE_VOLUME_UP音量增加键
25KEYCODE_VOLUME_DOWN音量减小键
26KEYCODE_POWER电源键
27KEYCODE_CAMERA拍照键
28KEYCODE_CLEAR按键 Clear
29KEYCODE_A按键 A
30KEYCODE_B按键 B
31KEYCODE_C按键 C
32KEYCODE_D按键 D
33KEYCODE_E按键 E
34KEYCODE_F按键 F
35KEYCODE_G按键 G
36KEYCODE_H按键 H
37KEYCODE_I按键 I
38KEYCODE_J按键 J
39KEYCODE_K按键 K
40KEYCODE_L按键 L
41KEYCODE_M按键 M
42KEYCODE_N按键 N
43KEYCODE_O按键 O
44KEYCODE_P按键 P
45KEYCODE_Q按键 Q
46KEYCODE_R按键 R
47KEYCODE_S按键 S
48KEYCODE_T按键 T
49KEYCODE_U按键 U
50KEYCODE_V按键 V
51KEYCODE_W按键 W
52KEYCODE_X按键 X
53KEYCODE_Y按键 Y
54KEYCODE_Z按键 Z
55KEYCODE_COMMA按键 ‘,’
56KEYCODE_PERIOD按键 ‘.’
57KEYCODE_ALT_LEFTAlt + Left
58KEYCODE_ALT_RIGHTAlt + Right
59KEYCODE_SHIFT_LEFTShift + Left
60KEYCODE_SHIFT_RIGHTShift + Right
61KEYCODE_TABTab 键
62KEYCODE_SPACE空格键
63KEYCODE_SYM按键 Symbol modifier
64KEYCODE_EXPLORER按键 Explorer special function
65KEYCODE_ENVELOPE按键 Envelope special function
66KEYCODE_ENTER回车键
67KEYCODE_DEL退格键
68KEYCODE_GRAVE按键 ‘`’
69KEYCODE_MINUS按键 ‘-’
70KEYCODE_EQUALS按键 ‘=’
71KEYCODE_LEFT_BRACKET按键 ‘[’
72KEYCODE_RIGHT_BRACKET按键 ‘]’
73KEYCODE_BACKSLASH按键 ‘’
74KEYCODE_SEMICOLON按键 ‘;’
75KEYCODE_APOSTROPHE按键 ‘’’ (单引号)
76KEYCODE_SLASH按键 ‘/’
77KEYCODE_AT按键 ‘@’
78KEYCODE_NUM按键 Number modifier
79KEYCODE_HEADSETHOOK按键 Headset Hook
80KEYCODE_FOCUS拍照 对焦键
81KEYCODE_PLUS按键 ‘+’
82KEYCODE_MENU菜单键
83KEYCODE_NOTIFICATION通知键
84KEYCODE_SEARCH搜索键
85TAG_LAST_KEYCODE
86KEYCODE_MEDIA_STOP多媒体键 停止
87KEYCODE_MEDIA_NEXT多媒体键 下一首
88KEYCODE_MEDIA_PREVIOUS多媒体键 上一首
89KEYCODE_MEDIA_REWIND多媒体键 快退
90KEYCODE_MEDIA_FAST_FORWARD多媒体键 快进
91KEYCODE_MUTE话筒静音键
92KEYCODE_PAGE_UP向上翻页键
93KEYCODE_PAGE_DOWN向下翻页键
94KEYCODE_PICTSYMBOLS按键 Picture Symbols modifier
95KEYCODE_SWITCH_CHARSET按键 Switch Charset modifier
96KEYCODE_BUTTON_A游戏手柄按钮 A
97KEYCODE_BUTTON_B游戏手柄按钮 B
98KEYCODE_BUTTON_C游戏手柄按钮 C
99KEYCODE_BUTTON_X游戏手柄按钮 X
100KEYCODE_BUTTON_Y游戏手柄按钮 Y
101KEYCODE_BUTTON_Z游戏手柄按钮 Z
102KEYCODE_BUTTON_L1游戏手柄按钮 L1
103KEYCODE_BUTTON_R1游戏手柄按钮 R1
104KEYCODE_BUTTON_L2游戏手柄按钮 L2
105KEYCODE_BUTTON_R2游戏手柄按钮 R2
106KEYCODE_BUTTON_THUMBLLeft Thumb Button
107KEYCODE_BUTTON_THUMBRRight Thumb Button
108KEYCODE_BUTTON_START游戏手柄按钮 Start
109KEYCODE_BUTTON_SELECT游戏手柄按钮 Select
110KEYCODE_BUTTON_MODE游戏手柄按钮 Mode
111KEYCODE_ESCAPEESC 键
112KEYCODE_FORWARD_DEL删除键
113KEYCODE_CTRL_LEFTControl + Left
114KEYCODE_CTRL_RIGHTControl + Right
115KEYCODE_CAPS_LOCK大写锁定键
116KEYCODE_SCROLL_LOCK滚动锁定键
117KEYCODE_META_LEFT按键 Left Meta modifier
118KEYCODE_META_RIGHT按键 Right Meta modifier
119KEYCODE_FUNCTION按键 Function modifier
120KEYCODE_SYSRQ按键 System Request / Print Screen
121KEYCODE_BREAKBreak/Pause键
122KEYCODE_MOVE_HOME光标移动到开始键
123KEYCODE_MOVE_END光标移动到末尾键
124KEYCODE_INSERT插入键
125KEYCODE_FORWARD按键 Forward
126KEYCODE_MEDIA_PLAY多媒体键 播放
127KEYCODE_MEDIA_PAUSE多媒体键 暂停
128KEYCODE_MEDIA_CLOSE多媒体键 关闭
129KEYCODE_MEDIA_EJECT多媒体键 弹出
130KEYCODE_MEDIA_RECORD多媒体键 录音
131KEYCODE_F1按键 F1
132KEYCODE_F2按键 F2
133KEYCODE_F3按键 F3
134KEYCODE_F4按键 F4
135KEYCODE_F5按键 F5
136KEYCODE_F6按键 F6
137KEYCODE_F7按键 F7
138KEYCODE_F8按键 F8
139KEYCODE_F9按键 F9
140KEYCODE_F10按键 F10
141KEYCODE_F11按键 F11
142KEYCODE_F12按键 F12
143KEYCODE_NUM_LOCK小键盘锁
144KEYCODE_NUMPAD_0小键盘按键 ‘0’
145KEYCODE_NUMPAD_1小键盘按键 ‘1’
146KEYCODE_NUMPAD_2小键盘按键 ‘2’
147KEYCODE_NUMPAD_3小键盘按键 ‘3’
148KEYCODE_NUMPAD_4小键盘按键 ‘4’
149KEYCODE_NUMPAD_5小键盘按键 ‘5’
150KEYCODE_NUMPAD_6小键盘按键 ‘6’
151KEYCODE_NUMPAD_7小键盘按键 ‘7’
152KEYCODE_NUMPAD_8小键盘按键 ‘8’
153KEYCODE_NUMPAD_9小键盘按键 ‘9’
154KEYCODE_NUMPAD_DIVIDE小键盘按键 ‘/’
155KEYCODE_NUMPAD_MULTIPLY小键盘按键 ‘*’
156KEYCODE_NUMPAD_SUBTRACT小键盘按键 ‘-’
157KEYCODE_NUMPAD_ADD小键盘按键 ‘+’
158KEYCODE_NUMPAD_DOT小键盘按键 ‘.’
159KEYCODE_NUMPAD_COMMA小键盘按键 ‘,’
160KEYCODE_NUMPAD_ENTER小键盘按键回车
161KEYCODE_NUMPAD_EQUALS小键盘按键 ‘=’
162KEYCODE_NUMPAD_LEFT_PAREN小键盘按键 ‘(’
163KEYCODE_NUMPAD_RIGHT_PAREN小键盘按键 ‘)’
164KEYCODE_VOLUME_MUTE扬声器静音键
165KEYCODE_INFO按键 Info
166KEYCODE_CHANNEL_UP按键 Channel up
167KEYCODE_CHANNEL_DOWN按键 Channel down
168KEYCODE_ZOOM_IN放大键
169KEYCODE_ZOOM_OUT缩小键
170KEYCODE_TV按键 TV
171KEYCODE_WINDOW按键 Window
172KEYCODE_GUIDE按键 Guide
173KEYCODE_DVR按键 DVR
174KEYCODE_BOOKMARK按键 Bookmark
175KEYCODE_CAPTIONS按键 Toggle captions
176KEYCODE_SETTINGS按键 Settings
177KEYCODE_TV_POWER按键 TV power
178KEYCODE_TV_INPUT按键 TV input
179KEYCODE_STB_POWER按键 Set-top-box power
180KEYCODE_STB_INPUT按键 Set-top-box input
181KEYCODE_AVR_POWER按键 A/V Receiver power
182KEYCODE_AVR_INPUT按键 A/V Receiver input
183KEYCODE_PROG_RED按键 Red “programmable”
184KEYCODE_PROG_GREEN按键 Green “programmable”

点赞关注~~持续分享,加入我们,了解更多。642830685,免费领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!技术大牛解惑答疑,同行一起交流。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: appium-python-client安装包可以通过pip命令进行安装,具体步骤如下: 1. 打开命令行工具(如Windows下的cmd或者Linux下的终端),输入以下命令安装pip: ``` sudo apt-get install python-pip ``` 2. 安装appium-python-client,输入以下命令: ``` pip install Appium-Python-Client ``` 3. 等待安装完成即可使用appium-python-client。 ### 回答2: appium-python-client是一个用于进行移动应用测试的Python库。它作为Appium测试框架的一个客户端,提供了许多功能和方法来编写和执行测试脚本。 要安装appium-python-client,需要先确保已经安装了Python环境。以下是安装appium-python-client的步骤: 1. 打开终端或命令提示符,并进入到所需的Python项目目录。 2. 使用pip命令安装appium-python-client。在终端或命令提示符中输入以下命令: pip install Appium-Python-Client 在执行命令后,pip会从Python Package Index(PyPI)上下载并安装appium-python-client。 安装完成后,您可以在Python脚本中导入appium-python-client并开始编写测试代码。 例如,您可以使用以下命令导入appium-python-client库: ```python from appium import webdriver ``` 然后,您可以使用appium-python-client提供的方法来启动Appium服务器、初始化移动设备连接、定位元素,并执行各种移动应用测试操作。 总结: appium-python-client是一个用于进行移动应用测试的Python库,可以通过pip命令进行安装。安装完成后,您可以在Python脚本中导入该库并使用其提供的方法来编写和执行移动应用测试脚本。 ### 回答3: appium-python-client是一个用于与Appium服务器进行通信的Python库。要安装appium-python-client,您可以按照以下步骤进行操作: 1. 确保您的电脑已经安装了Python解释器。您可以通过在命令行中输入“python --version”来验证Python是否已经安装。 2. 打开命令行或终端,并输入以下命令来安装appium-python-client: ``` pip install Appium-Python-Client ``` 注意:您需要确保您的电脑已经安装了pip,它是一个用于安装Python库的包管理工具。如果您的电脑上没有安装pip,您可以通过以下命令来安装它: ``` python -m ensurepip --upgrade ``` 3. 安装完成后,您可以在Python脚本中导入appium-python-client模块并使用它来与Appium服务器进行通信。例如,您可以使用以下代码示例来连接到Appium服务器: ```python from appium import webdriver desired_caps = { 'platformName': 'Android', 'platformVersion': '9', 'deviceName': 'Android Emulator', 'app': 'path/to/your/app.apk' } driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) ``` 这将创建一个WebDriver实例,用于控制连接到Appium服务器的设备。您可以使用WebDriver实例来执行各种测试操作,例如查找元素、发送输入等。 通过按照以上步骤安装appium-python-client,您就可以在Python中使用它来创建和执行Appium测试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值