Airtest封装的Tidevice接口有多好用(一)
一、前言
二、Airtest封装的Tidevice接口
2.1 devices() :列出USB连接的所有设备的 UDID 列表
UDID 列表返回出来。
devices = TIDevice.devices()
print(devices)
2.2 device_info(udid) :获取手机信息
udid 去进行检索设备,并将检索到的设备信息返回输出,其中包括下述内容:
-
productVersion(str):产品的版本。 -
productType(str):产品的类型。 -
modelNumber(str):设备的型号。 -
serialNumber(str):设备的序列号。 -
phoneNumber(str):与设备关联的电话号码。 -
timeZone(str):设备的时区。 -
uniqueDeviceID(str):设备的唯一标识符。 -
marketName(str):设备的市场名称。
from airtest.core.ios.ios import TIDevice
print(TIDevice.device_info(udid))
2.3 list_wda(udid) :列出手机上安装的所有WDA的 bundleID
WDA ,并返回每个 WDA 包名,默认是返回 TIDevice.list_wda(udid)[0] 。
from airtest.core.ios.ios import TIDevice
print(TIDevice.list_wda(udid))
2.4 ps_wda(udid) :获取当前启动中的WDA列表
WDA ,并返回每个 WDA 包名,默认是返回 TIDevice.list_wda(udid)[0] 。
from airtest.core.ios.ios import TIDevice
print(TIDevice.ps_wda(udid))
2.5 xctest(wda_bundle_id):启动WDA
WDA ,通过传入 WDA 的指定包名,调用接口即可打开对应的 WDA 。
from airtest.core.ios.ios import TIDevice
import threading
wda_bundle_id = TIDevice.list_wda(udid)[0]
# 创建一个线程,执行xctest
t = threading.Thread(target=TIDevice.xctest, args=(udid, wda_bundle_id), daemon=True)
t.start()
time.sleep(5)
ps_wda = TIDevice.ps_wda(udid)
print(ps_wda)
time.sleep(5)
# 终止线程
t.join(timeout=3)
三、完整演示案例
UDID ,设备信息等内容,然后读取并输出连接的iOS设备所安装的全部 WDA ,并启动第一个 WDA ,将当前在使用的 WDA 进行输出可以看到 WDA 包名是相对应的,最后直接关闭 WDA 服务。
# -*- encoding=utf8 -*-
__author__ = "Airtest"
from airtest.core.api import *
from airtest.core.ios.ios import TIDevice
import threading
auto_setup(__file__)
#输出电脑所连接的iOS设备udid
devices = TIDevice.devices()
print("电脑上连接的iOS设备的UDID是:{}".format(devices))
udid = devices[0]
#输出所连接设备的信息
print("该设备的信息为:")
print(TIDevice.device_info(udid))
#输出该设备安装的全部wda包名
print("该设备安装的全部wda如下:")
for wda_item in TIDevice.list_wda(udid):
print(wda_item)
#获取第一个wda的包名
wda_bundle_id = TIDevice.list_wda(udid)[0]
# 创建一个线程,执行xctest,启动第一个wda
t = threading.Thread(target=TIDevice.xctest, args=(udid, wda_bundle_id), daemon=True)
t.start()
time.sleep(5)
#输出当前启动的wda包名
ps_wda = TIDevice.ps_wda(udid)
print("当前设备所启动的wda是:{}".format(ps_wda))
time.sleep(5)
# 终止线程
t.join(timeout=3)
四、小结
-
devices:列出USB连接的所有设备的UDID列表 -
device_info:获取手机信息 -
list_wda:列出手机上安装的所有WDA的bundleID -
ps_wda:获取当前启动中的WDA列表 -
xctest:启动WDA


)
本文分享自微信公众号 - AirtestProject(AirtestProject)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。