手机操作api
针对手机的一些常用设置功能进行操作.
前置代码:
from appium import webdriver
# server 启动参数
desired_caps = {}
# 设备信息
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '5.1'
desired_caps['deviceName'] = '192.168.56.101:5555'
# app的信息
desired_caps['appPackage'] = 'com.android.settings'
desired_caps['appActivity'] = '.Settings'
# 声明我们的driver对象
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
1.1 获取手机时间
方法:device_time
代码:
# 获取当前手机的时间
print(driver.device_time)
1.2 获取手机宽高
获取手机宽高,可以根据宽高做一些坐标操作
方法:get_window_size()
代码实现:
print(driver.get_window_size())
1.3 发送键到设备
模拟系统键值操作,比如home键,音量键,返回键等.
方法:keyevent(keycode, metastate=None):
参数:
keycode:发送给设备的关键代码
metastate:关于被发送的关键代码的元信息,⼀般为默认值
示例:打开设置,按多次音量增加键
代码实现:
for i in range(3):
driver.keyevent(24)
1.4 操作手机通知栏
打开手机通知栏,可以获取通知栏的相关信息和元素操作
方法: open_notifications()
需求:
启动设置、打开通知栏
代码实现:
driver.open_notifications()
1.5 获取当前手机网络
方法:network_connection
示例:获取当前手机网络模式
代码实现:
print(driver.network_connection)
1.6 设置手机网络
更改手机的网络模式,模拟特殊网络情况
方法:set_network_connection(connectionType)
参数:connectionType:需要被设置成为的⽹络类型
示例:
启动设置,设置手机网络为飞行模式.
代码实现:
driver.set_network_connection(1)
1.6 手机截图
截取 手机当前屏幕,保存指定格式图片到指定位置
方法:get_screenshot_as_file(filename)
参数:
filename:指定路径下,指定格式的图⽚.
需求:
打开设置页面,截图当前页面,命名为screen.png
代码实现:
import os
driver.get_screenshot_as_file(os.getcwd() + os.sep + './screen.png')