此文章来源于项目官方公众号:“AirtestProject”
版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途
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
和文档说明:
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库升级到最新版本即可。
4. 常见问题
如同学们在使用新版的Airtest时遇到了一些问题无法解决,可以通过此网站向我们的开发者快速提单:
https://airtest.netease.com/issue_create
。
可以在标题中加入“Airtest1.3.3”之类的字眼,方便我们快速筛选和排查。