此文章来源于项目官方公众号:“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” 之类的字眼,方便我们快速筛选和排查。


AirtestIDE 下载:airtest.netease.com/\
Airtest 教程官网:airtest.doc.io.netease.com/\
搭建企业私有云服务:airlab.163.com/b2b

官方答疑 Q 群:117973773


↙↙↙阅读原文可查看相关链接,并与作者交流