是针对⼿机⼀些常⽤设置功能进⾏操作的API。
这些API都非常的简单,用的时候直接查询调用就可以了,下面介绍几个非常常用的API。
1、获取当前⼿机的时间
使用方法:device_time
# 调用方式:
driver.device_time
# 输出结果:
2020-12-04T00:02:50+08:00
2、获取⼿机屏幕的宽和⾼
获取⼿机的宽⾼,可以根据宽⾼做⼀些坐标的操作。
使用方法:get_window_size()
# 调用方式:
driver.get_window_size()
# 输出结果:
{'width': 720, 'height': 1280}
3、获取⼿机当前⽹络
获取⼿机当前连接的⽹络信息。
使用方法:network_connection
# 调用方式
driver.network_connection
# 输出结果:数字代表网络模式
6
4、设置⼿机⽹络模式
更改⼿机的⽹络模式。
使用⽅法:set_network_connection(connectionType)
# 调用方式
driver.set_network_connection(connectionType)
# 参数:connectionType
# 需要被设置成为的⽹络类型
"""Sets the network connection type. Android only.
设置网络连接类型。 仅适用于Android。
Possible values:
+--------------------+------+------+---------------+
| Value (Alias) | Data | Wifi | Airplane Mode |
+====================+======+======+===============+
| 0 (None) | 0 | 0 | 0 |
+--------------------+------+------+---------------+
| 1 (Airplane Mode) | 0 | 0 | 1 |
+--------------------+------+------+---------------+
| 2 (Wifi only) | 0 | 1 | 0 |
+--------------------+------+------+---------------+
| 4 (Data only) | 1 | 0 | 0 |
+--------------------+------+------+---------------+
| 6 (All network on) | 1 | 1 | 0 |
+--------------------+------+------+---------------+
These are available through the enumeration `appium.webdriver.ConnectionType`
这些可以通过枚举“ appium.webdriver.ConnectionType”获得。
Args:
connection_type: a member of the enum `appium.webdriver.ConnectionType`
Return:
int: Set network connection type
返回值是int类型:设置网络连接类型
"""
None:没有选择模式
Airplane Mode:飞行模式
Wifi only:仅Wifi
Data only:仅数据
All network on:所有网络均已开启
5、操作⼿机通知栏
打开⼿机的通知栏,可以获取通知栏的相关信息和元素操作
使用⽅法:open_notifications()
# 调用方式
driver.open_notifications()
6、综合练习
"""
1.学习目标
掌握⼿机操作中的常用API
2.操作步骤
2.1 获取当前⼿机的时间
2.2 获取⼿机屏幕的宽和⾼
2.3 获取⼿机当前⽹络
2.4 设置⼿机⽹络模式
2.5 打开系统⼿机通知栏
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
# 4.1 获取当前⼿机的时间
date = driver.device_time
# 输出结果:2020-12-04T00:00:22+08:00
print(date)
# 4.2 获取⼿机屏幕的宽和⾼
size = driver.get_window_size()
# 输出结果:{'width': 720, 'height': 1280}
print(size)
# 4.3 获取⼿机当前⽹络
network = driver.network_connection
# 输出结果:6
print(network)
# 4.4 设置⼿机⽹络模式
# 开启飞行模式,
# driver.set_network_connection(1)
# 或者使用枚举类也行
# 引入from appium.webdriver.connectiontype import ConnectionType包
# driver.set_network_connection(ConnectionType.AIRPLANE_MODE)
# 打印手机当前网络模式
# print(driver.network_connection)
# 注意:切换网络模式操作会导致电脑与模拟器的链接断开。
# 4.5 打开系统⼿机通知栏
driver.open_notifications()
# 5.关闭APP
time.sleep(3)
driver.quit()