【更新公告】Airtest更新至1.2.7版本

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
简介: 【更新公告】Airtest更新至1.2.7版本

此文章来源于项目官方公众号:“AirtestProject”

版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途

1. 前言

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

2. Airtest版本提升至1.2.7

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

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

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

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

  • 在脚本中允许手动调用,让设备创建出的所有adb连接都强制释放掉,dev.disconnect(),如果还要继续使用这个设备对象,最好重新再创建一次 dev = connect_device("android:///")
  • 同时对连接的创建进行了更进一步的清理操作,避免黑屏问题的发生
2)新增了大量的断言语句

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

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

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

  • assert_exists
  • assert_not_exists
  • assert_equal
  • assert_not_equal
  • assert_true
  • assert_false
  • assert_is
  • assert_is_not
  • assert_is_none
  • assert_is_not_none
  • assert_in
  • assert_not_in
  • assert_is_instance
  • assert_not_is_instance
  • assert_greater
  • assert_greater_equal
  • assert_less
  • assert_less_equal

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

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 接口进行了较大的增强:

  • 支持了安装参数的传入(与 adb.install 保持一致),
  • 支持了中文路径、一些包含特殊符号路径
  • 对路径的改动同时影响到了 adb.pull()adb.push() 接口,支持了中文路径、包含斜杠的路径(比如 \g 这样的字符也会有问题)、包含特殊符号(空格、括号等)的路径
  • pm_install 安装完毕后,会进行 adb shell rm apk 的操作,但在部分低配机型上可能会在这一步卡住超时(实际已经删除完毕,但代码一直不结束,导致整个脚本卡死),因此增加timeout 30秒自动结束
6)logwrap增加截图参数

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

@logwrap
def func1():
    pass

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

@logwrap
def func1(snapshot=True):
    pass
7)若干bug的修复
  • 尝试修复偶现的一个报告读取不到图片导致生成报告失败的问题
  • 兼容了adb 获取屏幕信息超时的情况
  • 修复了一个 adb.text() 在输入字母+数字时可能会导致乱序的问题,同时支持空格
8)新增了3个PR的支持
  • 在Windows环境下,初始化 airtest.core.win.Windows 对象时,允许开发者选择性跳过 connect() 方法中的 set_foreground() 功能
  • Android.get_render_resolution 中增加应用包名参数, 使得 get_render_resolution 能够获取到除top activity以外的应用的渲染区域
  • 修复win和linux的 start_app 缺少的传参

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

3. 如何更新

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

pip install -U airtest

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

image.png

4. 其它问题

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

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


AirtestIDE下载:airtest.netease.com/

Airtest 教程官网:airtest.doc.io.netease.com/

搭建企业私有云服务:airlab.163.com/b2b


相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
7月前
|
Android开发 iOS开发 开发者
更新公告:Airtest更新至1.2.10.2版本
更新公告:Airtest更新至1.2.10.2版本
|
7月前
|
IDE 开发工具 Android开发
【更新公告】AirtestIDE更新至1.2.17版本
【更新公告】AirtestIDE更新至1.2.17版本
【更新公告】AirtestIDE更新至1.2.17版本
|
7月前
|
Android开发 iOS开发 开发者
【更新公告】Airtest更新至1.2.6版本
【更新公告】Airtest更新至1.2.6版本
112 1
|
7月前
|
Android开发 iOS开发 计算机视觉
【更新公告】Airtest更新至1.2.9版本
【更新公告】Airtest更新至1.2.9版本
【更新公告】Airtest更新至1.2.9版本
|
7月前
|
开发工具 Android开发 iOS开发
【更新公告】Airtest更新至1.3.3版本
【更新公告】Airtest更新至1.3.3版本
|
7月前
|
Web App开发 IDE 开发工具
【更新公告】Airtest更新至1.3.0.1版本
【更新公告】Airtest更新至1.3.0.1版本
141 0
|
7月前
|
IDE 开发工具 Android开发
【更新公告】Airtest更新至1.3.2版本
【更新公告】Airtest更新至1.3.2版本
|
7月前
|
IDE 开发工具 开发者
【更新公告】AirtestIDE更新至1.2.15版本
【更新公告】AirtestIDE更新至1.2.15版本
124 0
|
7月前
|
IDE 开发工具 Android开发
【更新公告】AirtestIDE更新至1.2.16版本
【更新公告】AirtestIDE更新至1.2.16版本
|
编解码 算法 Windows
Camtasia2023最新版本主要更新内容
录屏软件的鼻祖是techSmith 的喀秋莎(Techsmith Camtasia Studio),视频编辑软件Camtasia 2020发布,十大新功能放出!作为一个自媒体人,每天都要录制编辑视频,选择一个好的视频编辑工具就是大家首先面临的一个难题,选择一个好工具,可以起到事半功倍的效果,大大提高工作效率。视频编辑非常多,今天给大家推荐的是一款功能强大、又容易上手的软件,它就是Camtasia 2023。
221 0

热门文章

最新文章