备注:未经博主允许禁止转载,如有问题,欢迎指正。
个人笔记(整理不易,一起努力~)
笔记目录 :学习笔记目录_pytest和unittest、airtest_weixin_42717928的博客-CSDN博客
目录
SoloPi是阿里开源的一个无线化、非侵入式的Android自动化工具,公测版拥有录制回放、性能测试、一机多控三项主要功能
一:下载安装
官方下载:https://github.com/alipay/SoloPi/releases
wiki:https://github.com/alipay/SoloPi/wiki
testerhome论坛:https://testerhome.com/topics/node152
SDK帮助文档:https://developer.android.com/tools/adb?hl=zh-cn
把开发者模式开启,把USB调试模式开启,把adb.exe的路径弄到path环境变量中
我下面拿模拟器来操作,注意了,模拟器本质是一个本地虚拟设备,adb默认通过本地TCP端口(如5555)与它通信,属于"有线"连接,只要你确认adb devices下有设备就行
当然也可以用无线模式,对安卓版本有要求
https://developer.android.com/tools/adb?hl=zh-cn#connect-to-a-device-over-wi-fi
要注意一些事项:
1:确保您的工作站和设备已连接到同一无线网络
2:在设备上启用无线调试-使用配对码对设备(在开发者模式里),注意是用里面的那个id和端口,而且要高版本的安卓


如果你在执行命令行的时候提示adb: usage: unknown command pair说明你的adb版本太低了
可以去SDK平台下载:https://developer.android.com/tools/releases/platform-tools?hl=zh-cn
3:当然在低安卓版本,也可以使用 USB 线将设备连接到主机,然后使用命令行做无线操作,成功后再拔USB线就行(这个高版本安卓也适用)
先检察设备是否连接

#设置目标设备以监听端口 5555 上的 TCP/IP 连接
adb tcpip 5555
#拔掉连接目标设备的 USB 线
#通过 设备IP 地址连接到设备(一般在wifi那可以看到ipv4地址)
adb connect device_ip_address:5555
第一次启动Soloπ时,会申请读写权限,获取读写权限后,Soloπ会将运行过程中获取到的各项数据存储到/sdcard/solopi目录下,如果不授予读写权限,Soloπ会使用/sdcard/Android/data/com.alipay.hulu/files/solopi目录作为存储位置。之后所有涉及到使用/sdcard/solopi目录的操作都需要替换为该目录
反正授权就好了,后面的USB调试,悬浮窗权限也授权

- 性能数据上传地址:Soloπ通过一机多控、录制回放或者性能工具录制的性能数据上传地址。
- 响应耗时上传地址:Soloπ通过一机多控、录制回放或者性能工具录制的页面响应耗时上传地址。
- Plugin拉取地址:Soloπ拉取额外插件的地址,如果需要使用响应耗时与图像查找功能,需要配置为可用的地址。注意:请将Plugin拉取地址设置为
https://raw.githubusercontent.com/soloPi/SoloPi/master/<abi>.json,否则Soloπ的一些功能将无法使用 - 自动清理文件:Soloπ会自动清理已下载文件中修改时间超过配置天数的文件,默认配置为
3天,点击可进行修改,配置为-1表示不进行删除。 - 日志中隐藏操作信息:开启后会隐藏Soloπ日志中的控件信息。
- 导入外部用例:Soloπ会从
/sdcard/solopi/import文件夹导入json格式的用例,导入完毕后会将原始文件删除。
二:录制回放
Soloπ能够将用户的操作记录下来并保存为自动化测试用例,支持在其他设备上进行用例回放。支持重复回放、批量回放等功能

在这里我也发现,有些app如果冷启动的话,会导致solopi控件查找能力失效,哪怕设置了sleep也没用。所以我在设置那边去掉了"回放前重启应用",在对应的页面去执行脚本
也可以批量回放脚本

三:性能工具
SoloPi能够记录待测应用的各项指标,支持实时观察模式与录制模式,如在悬浮窗中观察实时更新的数据,如对性能数据进行录制,在录制结束后查看图表
Soloπ还支持性能加压,能够对CPU、内存进行限制,复现应用在性能较差、网络环境不佳场景下的表现;除了常规性能指标,还提供了启动耗时计算工具,同时,启动耗时计算工具还可以通过广播调用,可以非常方便的与UI自动化测试打通
比如我木木,先连接好adb,如adb connect 127.0.0.1:7555
在进入应用前,Soloπ会显示全局指标,进入应用后,Soloπ会显示应用最上层进程的相关性能指标
CPU、内存指标为进程维度,响应耗时、帧率、网络为应用维度,电池为全局指标

在目录里面确实看到很多文件生成了

我把数据目录pull到电脑上,-a 参数保证递归拉取所有子文件
adb pull -a /storage/emulated/0/solopi/records/20260215152048_20260215152203/ F:\gameTest\solopi\gzkj
注意:第一列为Unix时间戳
当然Soloπ提供了环境加压的功能,可以提供CPU与内存加压,由于android系统的调度,CPU与内存加压均存在一定限制,当应用处于后台状态时,CPU加压占比会遭到一定程度的限制,而内存加压过大可能导致Soloπ被系统进行回收

详情参考:https://github.com/alipay/SoloPi/wiki/Performance
四:一机多控
对用户在主机上的操作进行录制,发送给多台从机进行批量回放,支持批量安装、显示设备信息等额外功能
注意:Soloπ会提示开启辅助功能,需要用户点击前往开启进行手动开启,如果遇到辅助功能已开启的情况,需要用户现将辅助功能关闭后,再进行开启,如果始终无法通过校验,请尝试重启设备
当然了还有很多功能甚至源码,可以去论坛逛逛