• 【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个专属参数:

    其中 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

    呀,这么认真都看到这里啦,帮忙点个推荐支持一下呗,灰常感谢~

  • 相关阅读:
    JS(五)
    typescript(02)
    typescript(01)
    opensuse15.1字符界面下配置网络
    docker 再次学习
    load dll get last error 14001 Error: The Side-by-Side configuration information for XXXX.DLL contains errors. sxstrace.exe (14001).
    DRF序列化与反序列化
    《流畅的python》:生成字典的几种方式
    《流畅的python》:bisect来管理已排序的序列
    《流畅的python》:由*初始化一个由列表组成的列表
  • 原文地址:https://www.cnblogs.com/AirtestProject/p/14958815.html
Copyright © 2020-2023  润新知