【更新公告】Airtest&Poco更新

简介: 【更新公告】Airtest&Poco更新

网络异常,图片无法展示
|


前言



本次更新为airtest和pocoui的更新,AirtestIDE暂未更新新版本。


其中Airtest更新至1.2.1,pocoui更新至1.0.83。


1. Airtest更新



1)修复Airtest1.2.0版本改动带来的问题


① 修复在使用py2、或者是某些特殊版本的python时,导致的一些报错。


网络异常,图片无法展示
|


② 初始化 minitouch 时,不再额外增加一个(0, 0)坐标的点击,避免误点。比如使用Airtest1.2.0版本时,执行脚本容易触发设备的通知栏,就是初始化 minitouch 时额外点击了一个(0,0)坐标导致的,新版本(Airtest1.2.1)将不再额外点击。


2)图像识别算法的改进


① 优化了 mstpl 算法,提升了判定的严格程度,可以有效降低当目标图片不在当前画面中的误检率


tpl 算法被添加回设置里,可以在 mstpl 失败时作为补充方案


③ 修复了 mstpl 算法在参数错误时的容错


对于该算法,一般使用默认参数,默认代码即可;在出现某些图片识别效果不佳时,可以适当做一些参数的调整:


  • scale_maxmstpl 专用参数,用于调节匹配的最大范围,如果要查找的目标UI很小的话,可以适当增大这个数值,默认值 800, 推荐值 740, 800, 1000 取值范围 [700 , 2000]
  • scale_stepmstpl 专用参数,用于控制搜索比例步长,如果要查找的目标UI很小的话,可以适当减小这个数值,默认值0.005,推荐值 0.02, 0.005, 0.001 取值范围 [0.001, 0.1]


可以在AirtestIDE1.2.10及以上版本双击图片脚本,打开图像编辑器来修改上述参数。

特别注意:


如果在图像识别过程中有出现异常情况,例如异常报错等,请保留好 报错log、脚本中运行失败的截图、失败时的手机画面完整截图(可以用 snapshot() 接口获取),然后在这个链接里面提单( airtest.netease.com/collect/ ),我们会对图片进行二次确认。


3)其他BUG修复


① 修复了断开连接时,有可能会有部分forward过的端口没有被完整回收的问题


② 修复了部分特殊型号的手机,在上个版本更新后,仍然可能出现连接后只能看到半屏图像的问题(VIVO X30 Pro)。因此在获取设备宽高数据时,强制指定更短的边为width,更长的边为height


网络异常,图片无法展示
|


③ 更好地兼容了windows双屏的情况


④ 其它小bug修复


2. Poco更新



1)修复了部分机型无法加载 unity UI树的问题


修复了在部分机型上(例如OPPO Reno),Unity可能会无法加载UI树的情况。


2)修复了SDK获取坐标等信息可能出现异常的问题


修复了如果SDK获取到的坐标和相关信息都不为float类型时,可能会异常的问题。


3)更新了 pocoservice.apk


更新了pocoservice.apk ,能够解决在部分机型上无法识别出某些android控件的问题,不强制重装,如果有需要更新,得先把手机里的两个名为 pocoservice 的apk都卸载掉,然后在运行到带有 android poco 初始化语句的脚本时(即 poco = AndroidUiautomationPoco() ),最新版本poco会自动重装apk。


特别注意:这俩个apk,一个带桌面图标比较容易找到,另一个很小的apk是不带桌面图标的,要在应用列表里面找到并手动卸载掉。


网络异常,图片无法展示
|


网络异常,图片无法展示
|


3. 如何更新



1)使用了本地python环境


使用了本地python环境的同学,可以在对应python环境里,使用如下命令将airtest和pocoui更新至最新版本:


pip install -U airtest
pip install -U pocoui
复制代码


2)未使用本地python环境


使用AirtestIDE自带环境的同学,暂时无法直接使用最新版的airtest和pocoui,可以等我们后续更新新版本的AirtestIDE;或者在选项--设置里面,设置使用本地python环境,然后在该python环境下安装最新版的airtest和pocoui来使用:


网络异常,图片无法展示
|


3)更新失败的解决办法


如同学们使用 pip install -U airtest 更新失败的话,可以使用清华源重新更新:


pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -U airtest
相关文章
|
SQL 监控 Oracle
Oracle 数据库发生等待事件:enq: TX - row lock contention ,排查思路
Oracle 数据库发生等待事件:enq: TX - row lock contention ,排查思路
Oracle 数据库发生等待事件:enq: TX - row lock contention ,排查思路
|
JSON 缓存 Java
Springboot 之 Filter 实现超大响应 JSON 数据压缩
Springboot 之 Filter 实现超大响应 JSON 数据压缩
387 0
|
10月前
|
Java 数据库连接 数据库
Spring Batch 中的 Tasklet 是什么?
Spring Batch 中的 Tasklet 是什么?
495 2
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现深度学习模型:智能健康监测与预警
使用Python实现深度学习模型:智能健康监测与预警
1041 10
|
Web App开发 JavaScript 前端开发
JavaScript 中的 Range 和 Selection 对象
JavaScript 中的 `Range` 和 `Selection` 对象用于处理文本选择。`Range` 表示文档中选定的区域,而 `Selection` 表示用户选择的文本或光标位置。`Range` 可以创建并设置于任何元素或文本,具有多个属性(如 `startContainer`, `endContainer`, `collapsed`)和方法(如 `cloneContents`, `deleteContents`)。`Selection` 提供了获取和操作用户选择的方法,如 `anchorNode`, `focusNode` 和 `addRange`。两者在所有现代浏览器中基本兼容。
185 1
JavaScript 中的 Range 和 Selection 对象
|
并行计算 TensorFlow 算法框架/工具
【Tensorflow】解决 Could not load dynamic library ‘libcudart.so.10.1‘; dlerror: libcudart.so.10.1
原因是CUDA10.1不支持Tensorflow2.2+。那就使用Tensorflow2.0。
240 2
|
存储 运维 安全
Linux中,如何配置iSCSI存储?
Linux中,如何配置iSCSI存储?
|
数据采集 API Android开发
简单易用的图像解码库介绍-stb_image
说到图像解码库,最容易想起的就是libpng和libjpeg这两个老牌图像解码库了。
1172 0
简单易用的图像解码库介绍-stb_image
|
NoSQL Java Redis
微服务 Spring Boot 整合Redis分布式锁 实现优惠卷秒杀 一人一单
高并发集群模式下,秒杀出现问题,如何解决,Redis 分布式锁来搞定!
495 0
微服务 Spring Boot 整合Redis分布式锁 实现优惠卷秒杀 一人一单
|
SQL 缓存 Java
深入了解Spring Data JPA-基础篇
深入了解Spring Data JPA-基础篇
768 0