版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途
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新增了剪贴板相关的接口
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
粘贴即可。
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发送消息,或处理带有自定义参数调用的函数,详情请见代码 diff #607 和文档说明:poco-chinese.readthedocs.io/en/latest/s… 。
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库升级到最新版本即可。
4. 常见问题
如同学们在使用新版的Airtest时遇到了一些问题无法解决,可以通过此网站向我们的开发者快速提单:airtest.netease.com/issue_creat… 。
可以在标题中加入“Airtest1.3.3”之类的字眼,方便我们快速筛选和排查。