此文章来源于项目官方公众号:“AirtestProject”
版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途

1. 前言

本次更新为 Airtest 库更新,主要是新增了设备释放接口、大量断言的语句,新增了对 Android 12L 的支持,对安装接口的增强,和若干 bug 的修复。

2. Airtest 版本提升至 1.2.7

1)新增了device.disconnect()接口

原先的 Airtest,在脚本长时间运行、或是使用了 AirtestIDE 反复连接多个不同手机时,可能会 建立大量 adb 连接未释放 ,一直占用资源。

这也会导致在部分手机上,反复切换横屏和竖屏应用时,会有概率 出现屏幕有一半内容变成黑屏 的问题。

因此,1.2.7 版本的 Airtest 新增了device.disconnect()接口,用于:

2)新增了大量的断言语句

在脚本编写中,断言语句是非常重要的组成部分,但 airtest 旧版只支持 assert_existsassert_equal 两种类型的断言语句。

现在 Airtest1.2.7 版本,将所有断言语句单独放在 airtest/core/assertions.py 中,增加了更多类型,方便脚本编写工作。

目前 Airtest1.2.7 支持的断言列表:

我们也可以在 Airtest 的 API 文档中,找到所有断言接口及其说明:https://airtest.readthedocs.io/en/latest/all_module/airtest.core.assertions.html

3)支持设置断言时附带当前截图

Airtest1.2.7 除了让断言语句更加丰富以外,还支持设置断言时,是否附带截取当前画面的图片,然后显示在 Airtest 报告中,这样报告的断言内容会更加清晰,也更具有 airtest 的截图特色:

# 默认情况下,断言截图会开启
assert_exists()

# 如不需要断言时截取当前画面,则可以设置关闭断言的截图
assert_exists(截图,snapshot=False)
4)新增对 Android12L 的支持

Airtest1.2.7 已增加 minicap 对 android 12L 的支持,Poco 的支持可以将 pocoui 更新至 1.0.88 版本。

5)安装接口pm_install的增强

Airtest1.2.7 对 pm_install 接口进行了较大的增强:

6)logwrap 增加截图参数

如果希望把自定义的函数也显示到 airtest 的报告中,可以使用 @logwrap,例如:

@logwrap
def func1():
    pass

如果希望在报告显示 func1内容的同时,还附带一张当前设备的截图的话,可以增加 snapshot=True 参数在 func1() 的定义中:

@logwrap
def func1(snapshot=True):
    pass
7)若干 bug 的修复
8)新增了 3 个 PR 的支持

【tips】关于本版本更新内容的更多示例,可以持续关注我们后续的推文,后续都会展开给同学们介绍对应的接口实例。

3. 如何更新

因本次更新仅更新了 Airtest 库,所以同学们目前只能在自己本地 python 环境中,将 Airtest 更新到最新版本:

pip install -U airtest

对于使用 AirtestIDE 的同学,可以等我们发布 1.2.15 版本的 IDE,或者在旧版本 AirtestIDE 中设置使用本地 python 环境,然后将本地 python 环境的 Airtest 库升级到最新版本即可。

4. 其它问题

如同学们在使用新版的 Airtest 时遇到了一些问题无法解决,可以通过此网站向我们的开发者快速提单:https://airtest.netease.com/issue_create

可以在标题中加入 “Airtest1.2.7” 之类的字眼,方便我们快速筛选和排查。


Airtest 官网https://airtest.netease.com/
Airtest 教程官网https://airtest.doc.io.netease.com/
搭建企业私有云服务https://airlab.163.com/b2b

官方答疑 Q 群:117973773

呀~这么认真都看到这里啦,帮忙点击左下角的爱心,给我点个赞支持一下把,灰常感谢~


↙↙↙阅读原文可查看相关链接,并与作者交流