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源创计划”,欢迎正在阅读的你也加入,一起分享。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
减少 95% 资源的向量搜索 | 使用云搜索的 DiskANN
当前尖端的向量近邻搜索算法,主要以图搜索算法为主,此类算法为了能够最大化搜索的速度与准确度,需要将对应的索引结构和原始数据存放在内存中,显然这不仅大大提高了成本,还限制了数据集的大小。 例如在当前主流的内存型 HNSW 算法下, 业界常用的内存估算方式是:向量个数 * 4 * (向量维度 + 12)。那么 在 DEEP 10M(96维)的 1 千万数据就需要内存达到 4GB 以上,但是 通过 DiskANN 优化后,仅需要 70 MB 的内存就可以对海量数据高效的进行检索;在 MS-MARCO(1024 维)的 1.38 亿条记录里,需要内存更是高达 534GB,这样检索 1.38 亿的数据需要 12 个 64GB 的节点。 按照上面的估算公式,到了 10 亿级别就需要大约 100 个节点,到 100 亿级别需要的节点数为 1000 个左右,这个规模的服务在资源成本和稳定性上都面临了极大的挑战。我们在服务客户的过程中,发现相比于低延迟检索需求,大部分客户更关注成本和稳定性,因此,火山引擎云搜索团队在原先已经支持的 HNSW、IVF 等低延迟的算法引擎的基础上,引入了内存和磁盘更好平...
- 下一篇
我可以写代码写到退休吗?记录我的10年前端技术之旅
今天是2024年4月26日,是我的32岁生日,也是我从事前端开发十年的日子,这篇文章是对我职业生涯的一次回顾,这次回顾颇有感慨,不仅回顾了之前工作的公司、同事,也看了一遍之前写的代码、写的文章,还有以前看的技术书的笔记。 本文就以技术栈为线,把这十年的前端经历串起来,一来让读者一窥这十年前端发展的历程,二来也希望通过分享我个人的经历,给技术人一点信心和方向,原来一直做技术也可以做十年,很快我也35岁了,希望我能打破程序员只能干到35岁的魔咒,40岁、50岁,我依然会写代码,这不仅仅是我的赖以谋生的手段,更是一种生活方式,通过写代码我认识了很多志同道合的朋友,在写代码的路上,我也在欣赏和探索这个世界。 jQuery 关键词:jQuery、全栈 我的第一份前端工作,在一家电商创业公司,我主要做电商后台管理系统,使用的是 jQuery 技术,当时刚从学校出来,没有系统学习过前端知识,于是买了两本书📚。 《JavaScript 高级程序设计(第3版)》(作者:[美] Nicholas C. Zakas,豆瓣评分 9.2,这本书现在已经出了第4版) 《锋利的 jQuery(第2版)》(作者:单...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS关闭SELinux安全模块
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Hadoop3单机部署,实现最简伪集群
- CentOS6,7,8上安装Nginx,支持https2.0的开启