您现在的位置是:首页 > 文章详情

Airtest封装的Tidevice接口有多好用(二)

日期:2024-07-31点击:176


👆对私有云感兴趣可以进入公众号回复“有云哦。

一、前言

上节课我们分享了一批Airtest封装的Tidevice接口,是有关获取设备信息的,还没看到的同学可以戳 这里 复习一下。那么本周我们继续来看一下Airtest还封装了哪些Tidevice的接口吧~

二、Airtest封装的Tidevice接口

2.1 list_app(udid ,app_type='user') :列出手机上安装的应用列表

通过 list_app() 接口,我们可以查询本地所连接设备上安装的应用列表,同时该接口支持对类型进行筛选,其中括号内的参数 udid 所填的是需要查询的设备 udid app_type 的话,是可以传入需要列出的应用程序类型,包括  user/system/all
 
from airtest.core.ios.ios import TIDevice

print(TIDevice.list_app(udid, "system"))

2.2 install_app(udid,file_or_url):安装ipa包

通过 install_app(udid,file_or_url) 可以直接安装ipa包体,支持本地路径或URL的传入,实现ipa包的直接安装。
 
from airtest.core.ios.ios import TIDevice

TIDevice.install_app(udid,r"D:\demo.ipa")
TIDevice.install_app(udid,"https://download")

2.3 uninstall_app(udid,bundle_id):卸载 bundle_id 对应的包体

通过使用 uninstall_app(udid,bundle_id) 接口可以直接卸载掉不需要的包体,其中传入的数据包括设备的 udid 、以及需要卸载的应用 bundle_id
 
from airtest.core.ios.ios import TIDevice
TIDevice.uninstall_app(udid,"com.163.itest.h12")

2.4 start_app(udid,bundle_id):启动 bundle_id 对应的包体

通过使用 start_app(udid,bundle_id) 接口可以直接通过 bundle_id 打开对应的app或游戏,这样就不需要游戏或应用图标在桌面或某个指定页面。只需要传入设备的 udid 以及应用或游戏的 bundle_id 就可以实现直接开启应用
 
from airtest.core.ios.ios import TIDevice
TIDevice.start_app(udid,'com.apple.mobilecal')

2.5 stop_app(bundle_id):停止 bundle_id 对应的包体

通过使用 stop_app(udid,bundle_id) 接口可以直接通过 bundle_id 关闭当前打开的的app或游戏,这样就不需要通过点击home键或退出键去实现退出应用了。
 
from airtest.core.ios.ios import TIDevice
TIDevice.stop_app(udid,'com.apple.mobilecal')

2.6 ps(udid):获取当前的进程列表

通过 ps(udid) 可以直接查询当前所连接设备上正在运行的进程列表,并将进程的 pid name bundle_id 等以字典的形式展现出来,可以根据自己的需求去调用。
 
from airtest.core.ios.ios import TIDevice
print(TIDevice.ps(udid))

三、完整演示案例

综合上述的内容,我们用一个小小的案例来阐述一下使用的大概流程是怎么样的吧。可以看到,我们可以直接可以利用接口实现先装包-测试-测试完后直接卸载包体这一个流程。
参考代码:
 
# -*- encoding=utf8 -*-
__author__ = "Airtest"

from airtest.core.api import *
from airtest.core.ios.ios import TIDevice
auto_setup(__file__)

from poco.drivers.ios import iosPoco
poco = iosPoco()

#获取电脑所连接的iOS设备udid
devices = TIDevice.devices()
udid = devices[0]

# 安装测试包体
TIDevice.install_app(udid, r"./simpletest_resign.ipa")
sleep(3.0)

#此时查询一遍用户安装应用,确保app安装成功
print(TIDevice.list_app(udid, "user"))

#将刚下载好的应用打开
TIDevice.start_app(udid,'com.163.itest.h12')
sleep(2.0)

#输出当前设备的进程应用有哪些
print("当前设备上开启的进程有:{}".format(TIDevice.ps(udid)))

#进行简单测试
poco("点击测试").click()
touch(Template(r"tpl1722395968270.png", target_pos=8, record_pos=(0.00.037), resolution=(7501334)))

#输入内容
poco("TextField").click()
text("Airtest")

#完成测试退出应用
TIDevice.stop_app(udid,'com.163.itest.h12')
sleep(3.0)

#将测试包体卸载
TIDevice.uninstall_app(udid,'com.163.itest.h12')

#此时再查询一遍用户安装应用,确保app卸载成功
print(TIDevice.list_app(udid, "user"))

四、小结

这节课我们主要是介绍了Airtest所封装好的tidevice一些接口以及他们所展现的效果:
1、 list_app  :列出手机上安装的应用列表,支持对类型进行筛选,包括  user/system/all
2、 install_app  :安装ipa包,支持本地路径或URL
3、 uninstall_app :卸载  bundle_id  对应的包体
4、 start_app  :启动  bundle_id  对应的包体
5、 stop_app  :停止  bundle_id  对应的包体
6、 ps  :获取当前的进程列表
通过上述的封装接口,我们可以对电脑本地连接的iOS设备实现一整个装包测试的流程,当然,同学们也可以根据自己的需求去封装更多有关Airtest或者是tidevice的相关接口,我们也欢迎大家投稿一些自己封装好的函数、接口等,大家可以一起分享学习~
同时如果大家在使用过程中有一些新的使用方式或者遇到了问题,又或者有任何想要深入了解的知识点,欢迎在官方交流群(526033840)里告诉我们或者提交issue。
(猜你还想看
网易Airtest私有云新增成员:主板机箱重磅出击
Airtest封装的Tidevice接口有多好用(一)
Airtest成功案例分享:KLab连续2年携Airtest私有云产品参加CEDEC大会!

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

原文链接:https://my.oschina.net/u/4594743/blog/15052643
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章