AirtestProject 【更新公告】Airtest 更新至 1.2.6 版本
此文章来源于项目官方公众号:“AirtestProject”
版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途
1. 前言
本次更新为 Airtest、Poco 和 iOS-tagent 的更新,主要是为了 对 iOS 设备有更好的支持 ,一方面是更多 iOS 系统版本的兼容,另一方面是提升了 iOS 设备的点击和滑动速度等。
更新内容详见下文。
2. Airtest 更新至 1.2.6
1)新增功能点
① iOS 投屏速度优化,新增 MJPEG 模式,以更高的速度查看 iOS 屏幕画面;
② iOS 点击速度优化,请配合更新iOS-Tagent到最新版本(如果原先使用了 Appium/WebDriverAgent 项目的,可以替换成我们这个版本),更新之后可以极大降低点击延迟;
③ 请使用最新版本的 AirtestIDE 1.2.14,可以体验到最佳效果,否则可能导致点击位置错误的问题;
④ 如果使用了 Poco,请更新至 1.0.87 版本,否则可能导致点击位置错误的问题。
2)bug 修复
① 修复了一个 Android 录屏时没有完全释放系统资源的 BUG,该问题可能会导致内存溢出;
② 稍微优化了 mstpl 的识别效果;
③ 修复了 Android10 以上版本的手机可能存在的点击失败问题;
④ 除了安装时对 numpy 版本号的限制;
⑤ 兼容了 jinja2>3.1 版本;
⑥ 修复 Android6.0.1 系统下,adb.file_size
接口获取文件大小失败的问题。
3. Poco 更新至 1.0.87
① 在初始化 Android poco 时,假如 get_top_activity
获取失败了,就暂时忽略掉,因为本步骤不是必须的;
② 支持了最新的iOS-Tagent;
③ 新增了一个 refresh()
接口,用于 强制刷新节点信息(该接口的使用详细案例可以关注我们后续的推文介绍)。
4. iOS-tagent 更新
更新后的 iOS-tagent 对如下的 iOS 系统和 xcode 版本进行了兼容:
iOS-tagent 项目链接:https://github.com/AirtestProject/iOS-Tagent 。
5. 如何更新
1)下载最新的 1.2.14 版本的 AirtestIDE
在我们的 官网 下载最新的 AirtestIDE1.2.14 版本,即可以体验到最新的 airtest
和 pocoui
(不设置本地 python 环境的情况下)。
2)Airtest 和 Poco 的更新
使用本地 python 环境的同学,可以在自己的本地 python 环境中,通过如下命令来进行更新:
pip install -U airtest
pip install -U pocoui
3)iOS-tagent 的更新
iOS-tagent 的更新,请参考我们的官方教程文档,去 github 上拉取最新的iOS-tagent项目部署到我们的苹果设备上:https://airtest.doc.io.netease.com/IDEdocs/3.2device_connection/4_ios_connection/ 。
6. 更新后的常见问题说明
1)极少苹果设备上可能出现点击偏移
极少部分设备上,可能点击位置会有偏移,目前在 AirtestIDE 上无法修正鼠标点击的偏移,但是可以在代码中修复,例如:
我们测试到一台 iPhone 7Plus 手机,在点击时有坐标偏移的现象,因此通过如下方式在运行代码时可以修正:
>>> device = connect_device("iOS:///")
>>> device.touch((100, 100)) # wrong position
>>> print(device.touch_factor)
0.333333
>>> device.touch_factor = 1 / 3.3 # default is 1/3
>>> device.touch((100, 100))
关于 touch_factor
的解释:
touch_factor
这个值用于换算 iOS 设备的点击坐标:
手机真实坐标 = touch_factor
* 屏幕坐标 ;
默认计算方式是: self.display_info['window_height'] / self.display_info['height']
;
但在部分特殊型号手机上可能不准确,例如 iOS14.4 的 7P,默认值为 1/3,但部分 7P 点击位置不准确,可自行设置为:self.touch_factor = 1 / 3.3
。
2)Poco 相关的注意事项
① 由于 iOS 的 Poco 延迟很高 ,开启时可能也会导致卡顿
② 部分 ipad 可能在横屏 + 桌面下,拿到的 Poco 位置不对,不建议在桌面上点击某个图标来打开 app,尽量使用 start_app
来打开,但本接口目前必须传入手机中已有的 app 包名,如果传入的包名不存在,可能会导致报错。
3)ImportError: cannot import name 'Markup' from 'jinja2'
部分同学在自己的 python 环境里安装 1.2.5 版本的 airtest,会报出 jinja2 的一个错误 cannot import name 'Markup' from 'jinja2'
,类似:
这个问题我们已经在 Airtest1.2.6 版本中修复,遇到该问题的同学直接更新 airtest 到最新版本即可。
4)其它问题
如同学们在使用新版的 Airtest 时遇到了一些问题无法解决,可以通过此网站向我们的开发者快速提单:https://airtest.netease.com/issue_create 。
可以在标题中加入 “Airtest1.2.6” 之类的字眼,方便我们快速筛选和排查。
Airtest 官网:https://airtest.netease.com/
Airtest 教程官网:https://airtest.doc.io.netease.com/
搭建企业私有云服务:https://airlab.163.com/b2b
官方答疑 Q 群:117973773
呀~这么认真都看到这里啦,帮忙点击左下角的爱心,给我点个赞支持一下把,灰常感谢~