阅读 900

【Airtest更新】AirtestIDE更新至1.2.10;Airtest更新至1.2.0

前言

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

AirtestIDE更新

新功能

1. 新增图像识别算法 mstpl

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

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

image

其中 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 设备之前请检查下是否已经把备选连接参数都取消了:

image

例如,原本模拟器连接时,需要勾选 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,请认准我们的官方网址:airtest.netease.com/index.html 。(注意不要在非官方网站上下载我们的AirtestIDE哦~)

Airtest库更新

新功能

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

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

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

image

在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上的更新文档:github.com/AirtestProj…

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,大概率是覆盖过程中出现了某些异常。

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

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

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

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

image

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

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

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

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

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

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

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

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

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

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

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

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

文章分类
后端
文章标签