提高iOS云真机稳定性的方法(一)

阅读本文大约需要2.1分钟。

点击?小卡片,回复 “合集” 获取系统性的学习笔记和测试开发技能图谱

背景

最近半年投入了比较多的精力在手机机房的建设,踩了不少坑,也积累了很多经验,接下来会分几个篇幅跟大家分享一些比较简单实操的小技巧来提高云真机的稳定性,今天主要讲讲iOS端如何做电量、存储监控以及清理第三方应用。

安装依赖

这里主要是依赖了前段时间阿里开源的一个Python库:

代码语言:javascript
复制
pip3 install -U tidevice

电量监控

首先是根据设备SN号获取设备电量信息:

代码语言:javascript
复制
def get_battery_level(sn):
    t = tidevice.Device(udid=sn)
    return t.battery_info()['level']

然后就可以根据实时获取到的电量信息做一些限制,比如电量低于某个阈值不接受任务,或者中断任务。

存储监控

首先还是根据设备SN号获取设备剩余可用存储空间信息:

代码语言:javascript
复制
def get_system_available_size(sn):
    t = tidevice.Device(udid=sn)
    size = float(t.storage_info()['free']) / 1000000000
    return size

这里的单位是GB,根据实时获取到的剩余可用存储空间信息来对设备做一些限制,比如低于某个阈值告警,通知运维人员手动处理或者执行接下来的清理第三方应用操作。

清理第三方应用

首先是获取设备中安装的第三方应用包名:

代码语言:javascript
复制
def get_third_packages(sn):
    res = run_sysCmd("tidevice --udid " + sn + " applist | awk -F' ' '{print $1}'")
    return res.strip()

然后循环遍历获取到的第三方应用包名列表,执行卸载操作:

代码语言:javascript
复制
def uninstall(sn, package_name):
    if run_sysCmd('tidevice --udid {0} uninstall {1}'.format(sn, package_name)).find(
                'Complete') >= 0:
       return True
    else:
       return False

如果有些自己的应用不想要被卸载掉,比如WDA-Agent等可以自己设置白名单。

分享:最近看了全球软件质量&效能大会QECon的演讲,感觉内容还是不错的,想要PPT的可以关注本公众号,然后输入"QECon"不区分大小写,获取2021年QECon大会的全场PPT