soloπ 可测试专项包括
app界面自动化
性能 cpu、内存、响应耗时、帧率、游戏帧率、电池电量、网络流量
同时执行多个设备的兼容性测试
1.初次使用
a. https://github.com/alipay/SoloPi/releases 下载apk包 安装
b. 需要开启安卓设备的设置 -> 开发者选项 ->USB调试功能
-
对于VIVO设备,如果在开发者选项中包含“USB安全操作”、“模拟点击”等类似的开关,需要手动进行开启,否则录制回放与一机多控功能可能会无法正常操作
-
对于小米设备,需要开启开发者选项中的
USB安装
与USB调试(安全设置)
,否则录制回放与一机多控功能会无法正常操作;此外,还需要手动开启Soloπ应用权限中的后台弹出界面
选项,否则无法正常使用 -
对于魅族设备,如果待测应用属于支付、金融类应用,需要在手机管家中关闭安全支付功能,否则录制回放与一机多控功能可能会无法正常操作
-
对于华为设备,需要开启开发者选项中的
"仅充电"模式下允许ADB调试
,否则断开USB线后会提示adb调试中断 -
对于OPPO设备,系统会10分钟自动断开USB调试,导致Soloπ不可用。如果想要保持调试稳定,需要将设备连接到电脑
c. 准备adb环境 手机连接电脑
d. Soloπ依赖设备远程adb来执行设备操作与待测应用信息获取,所以需要在每次设备重启后连接电脑并执行adb tcpip 5555
来开启设备远程adb调试端口。
e. 启动 所有权限申请 都给权限
2.录制回放
录制
通过Soloπ,对用户在设备上的操作进行录制,将操作步骤存在本地作为一条用例。
a.点击启动按钮后,Soloπ会弹出操作悬浮窗,并自动跳转到被测应用的首页
如果Soloπ未能通过android.intent.category.LAUNCHER解析出被测应用的启动页,跳转会失败按钮1表示开始按钮,按钮2为回到Soloπ应用,按钮3为隐藏Soloπ图标,点击目标应用文字(红框4)可以进入目标应用
b. 在悬浮窗中点击开始按钮,进入录制状态
c. 录制过程中,Soloπ会对用户的操作进行拦截,高亮当前点击的控件,并弹出操作选择框,如果显示的红框与期望操作的控件不符,可以考虑切换到H5增强模式进行查找。
控件操作的具体内容可以查看 控件操作当Soloπ图标为红色时,表示正在执行操作,执行完成后会变为黄色,请耐心等待 https://github.com/alipay/SoloPi/wiki/Actions#%E5%B8%B8%E7%94%A8%E6%8E%A7%E4%BB%B6%E6%93%8D%E4%BD%9C%E6%96%B9%E6%B3%95%E7%A4%BA%E4%BE%8B
如果通过通用模式或H5增强模式均无法查找到对应控件,可以切换到图像查找模式,通过图像匹配进行查找。使用图像查找模式时,Soloπ会截取当前屏幕截图,由用户选择区域进行操作。
除了上述基于控件的操作,Soloπ还提供了处理弹窗、scheme跳转等全局操作,可以通过点击 "π" 图标唤起操作选择框:
具体操作介绍可参考全局操作
当录制完成后,在全局操作选择框中,选择结束。回到Soloπ录制回放页面
回放
a.在Soloπ录制回放页面中,点击下方的查看全部按钮,可以查看到本地所有的用例
被测应用打开后,点击开始按钮,用例就会开始进行回放
b. 在全部用例列表中,点击列表中任意一条case,Soloπ会打开被测应用,并进入准备回放状态。
c. 用例回放过程中,Soloπ会高亮待操作控件
d. 回放结束后,Soloπ会展示回放的相关内容
回放概况
回放用例步骤信息
可以点击查看目标节点与实际查找节点的区别
回放应用日志
Soloπ会从logcat中获取的目标应用所有进程的日志,所以会有一部分日志产生时间在开始回放之前
用例列表
a. 在Soloπ录制回放页面点击“查看全部”即可进入
b. 其中各条用例均可长按,长按后会显示以下三种功能 删除用例,导出用例,重复播放
- 删除用例,从数据库中删除该条用例
- 导出用例,Soloπ会将该条用例导出到
/sdcard/solopi/export
文件夹下,用户可自行将该用例拷贝到其他设备的/sdcard/solopi/import
文件夹内,在设置中进行导入,详见第一次使用中相关配置一节。 - 重复播放,Soloπ会重复执行该条用例,可以配置回放次数与是否在每次用例执行前重启应用。
c. 回放完毕后,会展示批量执行结果,点击每一项,可以查看单条用例执行结果
批量回放
a.点击右上角批量回放进入
b. 勾选需要回放的用例,点击确定开始回放
c. 用例回放完毕后,会回到批量回放结果页
3. 性能测试
性能数据查看与记录
a. 勾选性能项,Soloπ会展示对应的性能指标
在进入应用前,Soloπ会显示全局指标,进入应用后,Soloπ会显示应用最上层进程的相关性能指标。CPU、内存指标为进程维度,响应耗时、帧率、网络为应用维度,电池为全局指标。具体性能指标描述请参考后文性能指标一段。
b. 点击悬浮窗中的应用标题,进入目标应用,切换为进程维度数据
c. 点击开始按钮(绿色三角),进行性能数据录制,可进行相关操作
d. 结束录制,点击终止按钮(红色圆形),Soloπ会提示录制数据存放的位置,数据保存在/sdcard/solopi/records/XXX
目录下
录制数据为csv格式,包含三列,第一列为Unix时间戳,第二列为数据数值,第三列为额外字段
e. 点击悬浮窗右上角关闭键(红色"X")可关闭悬浮窗,需要手动回到性能测试页面,可在录制数据查看一项中查看之前录制过的数据。
f. 在录制项筛选中,可以选择之前录制的各项数据进行观看,内存与CPU会记录在顶层出现过的进程的数据。如果发生了进程切换,会记录前后10次数据。
g. 当录制项过多时,可以点击右上角删除图标,对旧数据进行删除。
环境加压
Soloπ提供了环境加压的功能,可以提供CPU与内存加压
由于android系统的调度,CPU与内存加压均存在一定限制,当应用处于后台状态时,CPU加压占比会遭到一定程度的限制,而内存加压过大可能导致Soloπ被系统进行回收,敬请谅解。
a. 内存加压
b. CPU加压
响应耗时计算工具
Soloπ响应耗时计算工具,通过录屏分帧的方式自动识别起始点和结束点,精确计算耗时。
特性
- 模拟用户视觉,计算结果更贴近用户体验
- 自动记录点击起始点,自动识别屏幕变化结束点
- 通过OpenCV进行图像识别
- 支持原生应用、H5、游戏
- 支持启动耗时、页面跳转耗时、列表滑动耗时、动画耗时
使用方法
a. 进入Soloπ性能测试页面,点击启动耗时计算
b. 建议默认参数无需修改,点击启动按钮,会弹出录制浮窗
如果不需要关注细微的动画,请将二值对比差异设置为2%
c. 切换至待测应用,并进入操作路径的起始页面。
d. 点击开始录制(按钮会变为结束录制),然后在被测应用界面执行操作
e. 当页面停止变化后,点击结束录制。几秒后会显示测试结果
注意事项
- 结束页存在轮播图?
- 请在进入结果页后,在轮播图变化前点击结束录制
- 测试结果异常:过大,过小,或为负数?
- 本次结果失效,请重新测算。结果以多次测算后稳定的结果为准。
- 结束录制后,一直阻塞在计算中?
- 请关闭浮窗,退出Soloπ,重新打开耗时计算工具进行测算。
Soloπ提供的各项性能指标介绍
CPU
包含应用顶层Activity所在进程的CPU占用百分比与全局CPU占用百分比,对于单进程应用,该数据表示该应用的CPU占用情况;对于多进程进程应用,该数据表示顶层UI进程的CPU占用情况,当发生进程切换时,Soloπ能够自动切换到新的进程数据。
内存
包含应用顶层Activity所在进程的PSS(Proportional Set Size,即实际使用内存)内存、Private Dirty(私有内存)内存与全局占用内存,对于单进程应用,该数据表示该应用的内存占用情况;对于多进程进程应用,同CPU一样,Soloπ也支持自动切换顶层进程。
帧率
包含应用实际帧率,延迟帧数、1秒内单帧最长延迟时间与延迟帧数占所有帧数的百分比。属于应用维度数据。目前Soloπ是根据设备gfxinfo信息计算1秒内超时帧时间,从而反推出实际帧率,所以在接近静止的情况下, 部分帧率可能显示有误。推荐在滑动或页面切换等动态场景下进行帧率测试。
网络
包含应用上下行速率与累计流量以及全局上下行速率与累计流量。属于应用维度数据。点击右侧清零按钮可以清空累计数据。
响应耗时
包含应用点击的响应耗时与刷新耗时数据。属于应用维度数据。从用户点击开始,到系统第一次发出界面更新时间为响应耗时,到系统停止界面刷新的时间为刷新耗时。
当目标页面存在动画时,可能影响响应耗时计算的准确性。
电池
包含设备瞬时电流与电流均值。属于全局维度数据。点击右侧清零按钮可以清空电流累计数据。
部分设备存在瞬时电流更新缓慢的情况,这种情况下均值意义较小。
4. 一机多控
打开Soloπ,进入一机多控页面,界面如下:
主机模式
a. 选择待测应用,模式配置为主机模式,点击开始执行。
Soloπ会提示开启辅助功能,需要用户点击前往开启进行手动开启,如果遇到辅助功能已开启的情况,需要用户现将辅助功能关闭后,再进行开启,如果始终无法通过校验,请尝试重启设备。
b. Soloπ会弹出操作悬浮窗,并自动跳转到被测应用的首页
如果Soloπ未能通过android.intent.category.LAUNCHER解析出被测应用的启动页,跳转会失败需要先扫描从机二维码,再进行连接,扫描过的设备会进入未连接设备区,点击连接后会尝试连接这些设备
c. 在悬浮窗中点击开始按钮,进入主机操作状态
d. 操作过程中,Soloπ会对用户的操作进行拦截,高亮当前点击的控件,并弹出操作选择框。
如果显示的红框与期望操作的控件不符,可以考虑在全局操作中使用切换模式功能,切换到 H5增强模式 进行查找控件操作的具体内容可以查看控件操作当Soloπ图标为红色时,表示正在执行操作,执行完成后会变为黄色,请耐心等待
e. 除了上述基于控件的操作,Soloπ还提供了处理弹窗、scheme跳转等全局操作,可以通过点击小葫芦图标唤起操作选择框
在Android5.0及以上的设备中,主机可以通过点击小葫芦的图标唤起操作选择弹窗;而在Android4.x的设备中,需要通过手指在屏幕上从下向上滑动唤起弹窗具体操作介绍可参考全局操作
f. 当操作完成后,在全局操作选择框中,选择结束,断开与从机间的连接,回到Soloπ一机多控页面。
从机模式
a. 在Soloπ一机多控页面中,选择从机模式,点击开始执行
不需要选择测试应用,主机会将其测试的应用传递给从机
b. Soloπ显示包含从机IP信息的二维码,主机可扫码进行连接
扫码后从机会显示收到连接提示,但不会收起悬浮窗,需要主机点击连接后才可正式建立连接
c. 主机点击连接,从机进入受控模式,悬浮窗会缩小到右侧
d. 在主机上进行操作,从机会回放主机的操作
部分从机可能由于弹窗、不同机型适配等原因,导致会与主机产生不一致的操作,需要用户进行辅助操作
e. 主机点击结束,从机退出到一机多控页面
部分设备如果出现悬浮窗未正常退出的情况,请尝试手动退出Soloπ
f. 当需要单独退出从机、或者通过主机无法退出时,可以点击从机右侧悬浮窗,执行退出分组