1. 前言
本次更新为Airtest、Poco库更新,Airtest版本提升至1.3.3版本,Poco版本提升至1.0.94版本,主要是 Airtest新增点击和滑动的相对坐标支持 ,Poco修复了1.0.93运行效率缓慢的问题 。更新详情详见下文。(PS:本次AirtestIDE暂未更新版本,我们会尽快打包外放。)2. Airtest更新至1.3.3版本
1)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三个平台都支持。2)windows新增了剪贴板相关的接口
现在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
粘贴即可。3)Android支持手动指定touch_method
Android支持手动指定touch_method
,来强制指定ADBTOUCH
, MINITOUCH
, 或者 MAXTOUCH
。dev.touch_method = "ADBTOUCH"
4)bug修复
① Yosemite.apk
更新,新增了判断输入法是否完全启动的接口,避免输入失败② 修复了 某些低版本iOS设备使用swipe
接口会报错 的问题(报错信息为:Invalid parameter not satisfying: allAttributesForKey != nil
)③ 修复了1.3.2版本 引入的adb路径为None
的bug④ 修复了部分安卓 设备屏幕只显示一半 ,并且无法恢复的问题3. Poco更新至1.0.94版本
1)修复了旧版运行效率缓慢的问题
更新了pocoservice.apk
,修复了节点获取缓慢的问题;所以同学们在更新pocoui时,会需要重装手机里面的 pocoservice.apk
。2)Unity-SDK新增了poco.sendMessage()和poco.invoke()接口
Unity-SDK新增了poco.sendMessage()
和poco.invoke()
接口,用于向游戏内SDK发送消息,或处理带有自定义参数调用的函数,详情请见代码 https://github.com/AirtestProject/Poco/pull/607 和文档说明:https://poco-chinese.readthedocs.io/en/latest/source/doc/drivers/unity3d.html#integrating-and-using-poco-interface-functions-in-unity 。4. 如何更新
因本次更新仅更新了Airtest、Pocoui库,所以同学们目前只能在自己本地python环境中,将Airtest和Pocoui更新到最新版本:pip install -U airtest
pip install -U pocoui
对于使用AirtestIDE的同学,可以等我们发布1.2.17版本的IDE(开发组会尽快更新AirtestIDE,敬请期待),或者在旧版本AirtestIDE中设置使用本地python环境,然后将本地python环境的Airtest、Pocoui库升级到最新版本即可。5. 常见问题
如同学们在使用新版的Airtest时遇到了一些问题无法解决,可以通过此网站向我们的开发者快速提单:https://airtest.netease.com/issue_create 。可以在标题中加入“Airtest1.3.3”之类的字眼,方便我们快速筛选和排查。