专栏文章 【Airtest 更新】AirtestIDE 更新至 1.2.10;Airtest 更新至 1.2.0

fishfish-yu · 2021年07月01日 · 最后由 fishfish-yu 回复于 2021年07月05日 · 4223 次阅读

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

前言

本次更新包含编辑器AirtestIDE 的更新,版本提升至 1.2.10;Airtest 库版本更新至 1.2.0。更新内容详见下文~

AirtestIDE 更新

新功能

1. 新增图像识别算法 mstpl

新增图像识别算法 mstpl ,该算法提升了图像识别的准确性。同学们可以将自己的 AirtestIDE 更新到最新版本 1.2.10(本地环境的更新 Airtest 至 1.2.0)来使用这个新算法。

相应的,图片编辑器做了相关的一些小改动,可以调节新算法的 2 个专属参数:

其中 scale_max 用于调节匹配的最大范围;scale_step 用于控制搜索比例步长,示例:

from airtest.core.api import *

touch(Template("search.png", scale_max=800, scale_step=0.005))

我们也会在后续文档中,提供如何调节相关参数,以更好地提升图像识别效果的方法。

2.自动适配连接有问题的设备,无需勾选备选参数

在更新到最新版本的 AirtestIDE1.2.10 后,连接手机时可以不再需要勾选备选的设备连接参数了,所以请同学们将 IDE 版本更新至 1.2.10 之后,connect 设备之前请检查下是否已经把备选连接参数都取消了:

例如,原本模拟器连接时,需要勾选 use Javacap 选项,现在无需勾选只需要直接连接即可。

另外,我们删除了 cap_method=MINICAP_STREAM 这一参数,请同学们注意不要在脚本运行时传入 MINICAP_STREAM ,否则可能出现报错导致脚本无法正常运行。

3.IDE 自带环境中的 Airtest 库更新至 1.2.0 版本

AirtestIDE 自带的 Python 环境,里面的 Airtest 库更新至 1.2.0 版本;如在 IDE 设置了本地 Python 环境,则需要手动将对应本地环境的 Airtest 更新至最新版本 1.2.0。

4.对 Android12 支持较差,可等待后续版本支持

Android12 目前的支持情况比较差,图像画面显示速度很慢,请同学们耐心等待后续的版本更新。

bug 修复

1. 修复 1.2.9 拔插手机出现内存泄漏的问题

修复了 IDE1.2.9 版本直接插拔手机后,内存会不断上涨的问题。

2. 修复部分机型横屏图像显示错误

修复了部分机型在横屏时,屏幕图像显示错误的问题。

更新与下载

1. 覆盖更新

使用旧版本 IDE 的同学,打开 IDE 时收到新版本的更新提示,可以直接选择覆盖更新,需要注意的是,选择覆盖更新之前,请同学们检查下有没有把脚本保存在 AirtestIDE 的文件夹目录下,如有,请备份脚本后再进行覆盖更新。

2. 到官网上下载最新版本

不想进行覆盖更新的同学,也可以直接到我们的 AirtestProject 官网上下载最新版本的 IDE,请认准我们的官方网址:http://airtest.netease.com/index.html 。(注意不要在非官方网站上下载我们的 AirtestIDE 哦~)

Airtest 库更新

新功能

1.新增:图像识别算法 mstpl

我们新增了一个改良版本的模板匹配识别算法,能够大幅度增加原有的模板匹配的成功率,更好地适配分辨率变化的场景。

将 Airtest 更新至 1.2.0 以上版本即可使用,如果您正在使用 AirtestIDE,也请同步更新至 1.2.10 以上版本,最新的版本已经将该算法设置为首选使用的算法。

在 Template 图片对象初始化时,与新算法有关的参数如下:

  • 新加入 scale_max :新算法专用参数,用于调节匹配的最大范围,如果要查找的目标 UI 很小的话,可以适当增大这个数值,默认值 800, 推荐值 740, 800, 1000 取值范围 [700 , 2000]
  • 新加入 scale_step :新算法专用参数,用于控制搜索比例步长,如果要查找的目标 UI 很小的话,可以适当减小这个数值,默认值 0.005,推荐值 0.02, 0.005, 0.001 取值范围 [0.001, 0.1]
2.接口改动:连接手机时无需指定参数

在 Airtest 1.2.0 以上版本中,我们不再希望大家连接手机时,手动指定各连接参数了,包括 cap_methodtouch_methodori_method

因此我们进行了一些改动,在初始化手机时,如果遇到问题,Airtest 将会自动尝试进行兼容,并选取备用方案进行连接,直到成功为止。

改动详情可以参看我们 github 上的更新文档:https://github.com/AirtestProject/Airtest/releases/tag/v1.2.0

bug 修复

1.解决了旧版本拔插手机内存泄漏的问题

nbsp 增加了一个 auto_kill 参数,在手机断开连接时,能自动杀掉 socket,避免内存泄露的问题。使用旧版 Airtest 的同学如遇到内存泄漏问题,可直接将使用的 Airtest 更新到最新的 1.2.0 版本来解决此问题。

2.解决了几个结束时未完全关闭 io 流的 warning
3.兼容了在脚本运行时传入的脚本路径末尾带有/的情况
4.重新加入了 SIFT 算法

SIFT 算法专利已经解禁,因此重新加入了 SIFT 算法作为默认算法,但是受限于 opencv 的版本号,不是所有的版本号都可以直接使用。

5.修复部分横屏设备显示错误的问题

修复了在部分新型号手机上,在横屏状态时获取到的 display_info 尺寸相反的问题,这个问题会导致在 IDE 上的横屏状态下,屏幕画面显示错误,例如 vivo iQOO Neo5,华为 Mate40Pro 等。

更新方式

更新 Airtest 库到最新版本:

pip install -U airtest

如使用的是 AirtestIDE 且未设置本地 Python 环境,则将 IDE 更新到 1.2.10 版本即可。

更新版本之后的常见问题及解决办法

覆盖更新失败

如进行 IDE 的覆盖更新之后,发现缺少.exe 文件,或者不能正常打开 IDE,大概率是覆盖过程中出现了某些异常。

无需惊慌,直接删除问题版本,到我们官方网站上重新下载最新的版本即可。(官方网址:http://airtest.netease.com/index.html

如覆盖更新之后,发现脚本全部丢失,则大概率是把脚本保存到了 IDE 的文件夹目录下,覆盖更新时把脚本删除了;所以务必请同学们再进行覆盖更新操作之前,检查是否将脚本保存到了 IDE 的文件夹目录下!!!

三星部分型号手机画面不能占满窗口

如使用 1.2.10 版本的 AirtestIDE 连接三星的部分型号设备,出现设备画面没有占满整个设备窗的情况,请在 “设置” - “显示” 中将 “屏幕分辨率” 调至 “WQHD”:

点击失效/偏移/不能点击

请先查看完推文 “为什么我的点击 “不生效”?!” 的内容之后,了解清楚自己的点击失效究竟属于哪种情况,然后再将必要信息提交 issue:https://github.com/AirtestProject/Airtest/issues

或者在我们的官方答疑 Q 群(654700783)中 @ 网易 Airtest@ 晓娟,给出详细的问题描述。

连接模拟器失败/不能点击模拟器

1.2.10 版本的 IDE 可以无需勾选任何参数,直接连接上大部分主流的模拟器,如最新版 IDE 不能连接模拟器,请排查以下问题:

  • 确保电脑里面的 ADB 都是一个统一的版本
  • 确保模拟器上安装好了 Yosemite.apk
  • 确保模拟器已经更新到了最新版本

如上述问题都已确认完毕,连接模拟器仍出现黑屏、不能点击的问题,请尝试只勾选 use javacap 来解决,如还未能解决,可以将此情况反馈到 issue 上:https://github.com/AirtestProject/Airtest/issues

使用最新版本图像识别报错

如果在图像识别时遇到问题或异常报错,请将当前界面截图、与脚本中使用的图片一起提交 issue:https://github.com/AirtestProject/Airtest/issues

同理也可以在我们的官方答疑 Q 群(654700783)中 @ 网易 Airtest@ 晓娟,并给出对应的界面截图和脚本中使用的图片,方便我们进行排查。

使用新算法时出现结果误判

这次版本的 Airtest 的图像识别算法虽然更容易识别,但是误判率也会更高,我们会很快出一个版本来优化这个问题。


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

官方答疑 Q 群:654700783

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

共收到 2 条回复 时间 点赞

脚本打包 APK 功能,什么时候能优化

xxaq 回复

此功能暂未排期,后续有更新会写公告的~

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册