此文章来源于项目官方公众号:“AirtestProject”\
版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途1. 前言
本次更新为 Airtest、Poco 库更新,Airtest 版本提升至 1.3.3 版本,Poco 版本提升至 1.0.94 版本,主要是 Airtest 新增点击和滑动的相对坐标支持 ,Poco 修复了 1.0.93 运行效率缓慢的问题 。更新详情详见下文。
(PS:本次 AirtestIDE 暂未更新版本,我们会尽快打包外放。)
touch
, swipe
接口新增相对坐标的支持我们都知道,旧版 Airtest 支持绝对坐标,但是有时候想直接点击屏幕中心,或者其它一些想直接使用相对坐标的场景时,就要写比较复杂的坐标转换:
# 获取设备屏幕分辨率 (竖屏)
height = G.DEVICE.display_info['height']
width = G.DEVICE.display_info['width']
# 已知相对坐标 [0.3,0.55],转换成绝对坐标
x2 = 0.3*width
y2 = 0.55*height
touch([x2,y2])
所以现在 1.3.3 版本的 Airtest 直接支持了相对坐标,当 x,y 的值都小于 1 时,默认是相对坐标操作,比如:
# 点击屏幕中心点
touch([0.5, 0.5])
# 从右往左滑动
swipe([0.7, 0.5], [0.2, 0.5])
而且目前 android、iOS、Windows 三个平台都支持。
1.3.3 版本之前,我们的剪切板接口仅支持了 Android 和 iOS 平台,详情可以查看我们往期的推文:Airtest:各平台的剪切板功能汇总。
现在 Airtest1.3.3 版本,也可以支持 Windows 平台的剪切板操作功能了:
text_1 = "test_clipboard"
set_clipboard(text_1) # 设置剪切板内容
get_text = get_clipboard() # 获得剪切板内容
print(get_text) # -> test_clipboard
# 剪切板粘贴接口
paste() # => text(get_clipboard())
值得一提的是,如果有大段文字需要输入,原本使用text
接口将会一个一个输入,效率很低,现在可以使用set_clipboard
设置到剪贴板之后,再使用paste
粘贴即可。
touch_method
Android 支持手动指定touch_method
,来强制指定ADBTOUCH
, MINITOUCH
, 或者 MAXTOUCH
。
dev.touch_method = "ADBTOUCH"
① Yosemite.apk
更新,新增了判断输入法是否完全启动的接口,避免输入失败
② 修复了 某些低版本 iOS 设备使用swipe
接口会报错 的问题(报错信息为:Invalid parameter not satisfying: allAttributesForKey != nil
)
③ 修复了 1.3.2 版本 引入的 adb 路径为None
的 bug
④ 修复了部分安卓 设备屏幕只显示一半 ,并且无法恢复的问题
更新了pocoservice.apk
,修复了节点获取缓慢的问题;所以同学们在更新 pocoui 时,会需要重装手机里面的 pocoservice.apk
。
poco.sendMessage()
和poco.invoke()
接口Unity-SDK 新增了poco.sendMessage()
和poco.invoke()
接口,用于向游戏内 SDK 发送消息,或处理带有自定义参数调用的函数,详情请见代码 diff #607 和文档说明:https://poco-chinese.readthedocs.io/en/latest/source/doc/drivers/unity3d.html#integrating-and-using-poco-interface-functions-in-unity 。
因本次更新仅更新了 Airtest、Pocoui 库,所以同学们目前只能在自己本地 python 环境中,将 Airtest 和 Pocoui 更新到最新版本:
pip install -U airtest
pip install -U pocoui
对于使用 AirtestIDE 的同学,可以等我们发布 1.2.17 版本的 IDE(开发组会尽快更新 AirtestIDE,敬请期待),或者在旧版本 AirtestIDE 中设置使用本地 python 环境,然后将本地 python 环境的 Airtest、Pocoui 库升级到最新版本即可。
如同学们在使用新版的 Airtest 时遇到了一些问题无法解决,可以通过此网站向我们的开发者快速提单:https://airtest.netease.com/issue_create 。
可以在标题中加入 “Airtest1.3.3” 之类的字眼,方便我们快速筛选和排查。
AirtestIDE 下载:airtest.netease.com/\
Airtest 教程官网:airtest.doc.io.netease.com/\
搭建企业私有云服务:airlab.163.com/b2b
官方答疑 Q 群:117973773