美文网首页
『与善仁』Appium基础 — 39.常用⼿机操作的API(二)

『与善仁』Appium基础 — 39.常用⼿机操作的API(二)

作者: 繁华似锦Fighting | 来源:发表于2020-12-12 12:36 被阅读0次

7、发送键到设备(掌握)

模拟系统键值的操作,⽐如操作home键,⾳量键,返回键等。

使用方法:keyevent(keycode, metastate=None):

# 调用方式
driver.keyevent(keycode)

参数:
    keycode:发送给设备的关键代码
    metastate:关于被发送的关键代码的元信息,⼀般为默认值

说明:Android 常用keycode键列表

键名 描述 键值
KEYCODE_CALL 拨号键 5
KEYCODE_ENDCALL 挂机键 6
KEYCODE_HOME 按键Home 3
KEYCODE_MENU 菜单键 82
KEYCODE_BACK 返回键 4
KEYCODE_SEARCH 搜索键 84
KEYCODE_CAMERA 拍照键 27
KEYCODE_FOCUS 拍照对焦键 80
KEYCODE_POWER 电源键 26
KEYCODE_NOTIFICATION 通知键 83
KEYCODE_MUTE 话筒静音键 91
KEYCODE_VOLUME_MUTE 扬声器静音键 164
KEYCODE_VOLUME_UP 音量增加键 24
KEYCODE_VOLUME_DOWN 音量减小键 25
KEYCODE_ENTER 回车键 66
KEYCODE_ESCAPE ESC键 111
KEYCODE_DPAD_CENTER 导航键_确定键 23
KEYCODE_DPAD_UP 导航键_向上 19
KEYCODE_DPAD_DOWN 导航键_向下 20
KEYCODE_DPAD_LEFT 导航键_向左 21
KEYCODE_DPAD_RIGHT 导航键_向右 22
KEYCODE_MOVE_HOME 光标移动到开始键 122
KEYCODE_MOVE_END 光标移动到末尾键 123
KEYCODE_PAGE_UP 向上翻页 92
KEYCODE_PAGE_DOWN 向下翻页 93
KEYCODE_DEL 退格键 67
KEYCODE_FORWARD_DEL 删除键 112
KEYCODE_INSERT 插入建 124
KEYCODE_TAB Tab键 61
KEYCODE_NUM_LOCK 小键盘锁 143
KEYCODE_CAPS_LOCK 大写锁定键 115
KEYCODE_BREAK 暂停键 121
KEYCODE_SCROLL_LOCK 滚动锁定键 116
KEYCODE_ZOOM_IN 放大键 168
KEYCODE_ZOOM_OUT 缩小键 169

业务场景:

  1. 打开设置
  2. 按多次⾳量增加键

代码实现:

"""
1.学习目标
    掌握发送键到设备
2.操作步骤
    发送键到设备:driver.keyevent(keycode)
        例如:
        音量增大 keycode = 24
        音量减小 keycode = 25
3.需求
    使用keyevent控制手机音量大小
"""

# 1.导入appium和TouchAction
import time
from appium import webdriver

# 2.创建Desired capabilities对象,添加启动参数
desired_caps = {
    "platformName": "Android",  # 系统名称
    "platformVersion": "7.1.2",  # 系统版本
    "deviceName": "127.0.0.1:21503",  # 设备名称
    "appPackage": "com.android.settings",  # APP包名
    "appActivity": ".Settings"  # APP启动名
}

# 3.启动APP
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)

# 4.操作APP
# 4.1 发送键到设备,实现手机音量调节
# 音量增大
for i in range(4):
    driver.keyevent(24)
    time.sleep(1)

# 音量减小
for i in range(2):
    driver.keyevent(25)
    time.sleep(1)

# 5.关闭APP
time.sleep(3)
driver.quit()

8、⼿机截图(掌握)

截取⼿机当前屏幕,保存指定格式图⽚到设定位置

使用⽅法:get_screenshot_as_file(filename)

# 调用方式
driver.get_screenshot_as_file(filename)

参数:
    filename:指定路径下,指定格式的图⽚。

业务场景:

  1. 打开设置⻚⾯
  2. 截图当前⻚⾯保存到当前⽬录,命名为screen.png

代码实现:

"""
1.学习目标
    掌握appium中手机截图
2.操作步骤
    手机截图
        driver.get_screenshot_as_file(存储文件的路径+文件名)
        图片格式仅支持png格式。
3.需求
    实现手机截图功能
"""

# 1.导入appium和TouchAction
import time
from appium import webdriver

# 2.创建Desired capabilities对象,添加启动参数
desired_caps = {
    "platformName": "Android",  # 系统名称
    "platformVersion": "7.1.2",  # 系统版本
    "deviceName": "127.0.0.1:21503",  # 设备名称
    "appPackage": "com.android.settings",  # APP包名
    "appActivity": ".Settings"  # APP启动名
}

# 3.启动APP
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)

# 4.操作APP
# 手机截图,截图保存当前目录(脚本文件所在的同级目录)
# driver.get_screenshot_as_file("test.jpg") # 写jpg格式日志中会有警告
driver.get_screenshot_as_file("test1.png")

# 5.关闭APP
time.sleep(3)
driver.quit()

相关文章

网友评论

      本文标题:『与善仁』Appium基础 — 39.常用⼿机操作的API(二)

      本文链接:https://www.haomeiwen.com/subject/yfigwktx.html