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.0, 0.037), resolution=(750, 1334)))
#输入内容
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"))
四、小结
list_app :列出手机上安装的应用列表,支持对类型进行筛选,包括 user/system/all
install_app :安装ipa包,支持本地路径或URL
uninstall_app :卸载 bundle_id 对应的包体
start_app :启动 bundle_id 对应的包体
stop_app :停止 bundle_id 对应的包体
ps :获取当前的进程列表


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