1. 前言
本次更新为AirtestIDE、Airtest、Poco更新。
AirtestIDE更新至1.2.16版本,Airtest更新为1.3.1版本,Poco更新为1.0.92版本,主要为iOS内容更新、新增Android剪切板功能、poco问题修复等。更多更新内容详见下文。
2. 更新内容
1)AirtestIDE更新至1.2.16版本
新版IDE主要是新增了一个iOS直连面板,方便我们快速连接iOS设备;以及更新了内置python环境的airtest、poco库,将其提升到上述的最新版本。
iOS直连面板的使用步骤如下:
- iOS设备先预装好wda,确保wda正确安装且可正常启动使用即可,安装详情可以参照我们官方文档。
- 使用usb数据线连接设备,window系统用户记得下载并打开iTunes
注意:
-
如果iOS系统在15.0以上的设备,打开iTunes后需要点击以下弹窗的继续:
-
如果iOS系统低于15.0的设备,打开iTunes后会跳出升级iOS系统的弹窗,需要点击取消(我们目前暂时还无法适配iOS17,故谨慎升级):
-
- 点击iOS设备连接窗口的
刷新设备
按钮,记得点击设备上信任弹窗 - 点击
connect
,进行连接;当设备装有多个wda时,点击switch wda
下拉列表,也可以切换不同的wda启用
在点击
刷新设备
后,connect
按钮置灰有两种原因:
- iOS设备没有任何可用的wda,IDE无法进行连接使用
- iOS设备所安装的wda启动中,暂不可用,稍等一会即可恢复
相比于1.2.15版本,airtest直接从1.2.10提升至了1.3.1:
- Airtest 1.3.0(详看我们往期的推文 Airtest更新至1.3.0.1版本)
- 新增iOS设备接口
- 新增tidevice相关接口
- 新增错误类型
NoDeviceError
- 其它小优化及改动
- Airtest 1.3.1(详看下文介绍)
Poco也是从1.0.89提升至了1.0.92:
- Poco 1.0.92(详看下文介绍)
2)Poco更新至1.0.92版本
该版本主要有以下更新内容:
- 新增
poco.dump()
接口,效果等同于之前的poco.agent.hierarchy.dump()
接口,让调用更简单 - 新增
poco.double_click()
双击接口 - 在android poco主动调用
stop_running
时,释放申请的端口号 - 更新了PocoService.apk,对一些机型兼容性更好
3)Airtest更新至1.3.1版本
该版本主要是更新了几个小功能以及做了一些修复:
- ① Airtest报告中现在将会显示
connect_device
接口连接的设备
- ② iOS和Android设备在连接时,支持传入
name
参数,用于指定它的udid(ios)
或serial number(android)
# iOS设备
ios:///http://10.240.145.171:20092?name=83282c400efc9122e3bcba60c803cf318a6b3822
# 安卓远程设备
android://127.0.0.1:5037/10.227.71.86:20029?name=serialno
- ③ 支持指定ADB:现在将会优先使用当前的ADB进程,或者是系统变量设置了
ANDROID_HOME
中的ADB,如果都找不到,才会使用airtest里的ADB。同时也支持直接指定adb_path
,例如:
from airtest.core.android.android import Android, ADB
adb = ADB(adb_path=r"D:\adb\adb.exe")
# 或者可以初始化一个指定了adb_path的Android设备对象
dev = Android(serialno="5TSSMVBYUSEQNRY5", adb_path=r"D:\test\adb41\adb.exe")
- ④ 新增了Android 剪切板功能
text = "test_clipboard"
set_clipboard(text) # 设置剪切板内容
get_text = get_clipboard() # 获得剪切板内容
print(get_text) # -> test_clipboard
# 剪切板粘贴接口
paste() # => text(get_clipboard())
- ⑤ 如果遇到了手机画面只有一半的情况,重新连接画面即可恢复
3. 如何更新
1)覆盖更新
打开AirtestIDE时,如收到下述的更新提示,可以直接选择点击左下角的【更新】按钮来完成覆盖更新:
特别注意:更新过程切勿中断,如覆盖更新时因为某些异常中断,可能导致覆盖更新失败,无法正常打开AirtestIDE。
此时我们可以卸载掉更新失败的AirtestIDE,然后到官网上下载最新版。
另外覆盖更新之前,请检查是否将脚本保存到了AirtestIDE的文件路径内,如有请备份脚本后再进行覆盖更新,否则进行 覆盖更新操作后也会覆盖掉保存在AirtestIDE路径下的脚本 。
2)到官网上下载最新版本
官网下载地址:https://airtest.netease.com/index.html:
3)本地Python环境库更新
如需把本地Python环境的库更新至与1.2.16一样的环境,可以使用如下命令:
# airtest最新版为1.3.1
pip install -U airtest
# pocoui最新版为1.0.92
.92
pip install -U pocoui
4. 其它问题
1)覆盖更新失败
如果同学们在覆盖更新的时候,不能正确更新的话,可以删掉这个目录下的所有内容,再重新检查更新并执行更新操作:
C:\Users\xxx\AppData\Local\AirtestIDE\AirtestIDE
或者 直接到我们官网上下载一个最新的版本 。
2)旧版没问题,更新后出现xxx问题
如果同学们遇到,旧版使用没问题,但更新后出现xxx问题的情况,请务必给出详细的信息向我们提问:
- 旧版本信息(IDE版本,是否使用本地python环境,若使用本地安装的airtest和pocoui版本如何)
- 新版本信息(IDE版本,是否使用本地python环境,若使用本地安装的airtest和pocoui版本如何)
- 进行了怎么样的操作/运行了怎么样的代码
- 旧版表现如何,新版表现如何(如出现报错,请提供完整的报错信息)
如无法提供上述详细信息,开发者将可能很难帮助同学们查到问题所在。
3)向开发组提单
其他关于新版使用过程的任何问题/建议,都可以向我们的开发组提单:https://airtest.netease.com/issue_create 。(提单时标题备注1.2.16版本IDE可以让开发者快速定位)