0x01 关于 Soloπ

Soloπ开源地址

MTSC 大会上,Soloπ算是一次正式的在公众前亮相。
可能有许多参过会的同学都不一定知道 Soloπ是什么,我一开始也没反应过来,其实这个是蚂蚁金服的乐舟老师分享的议题《移动测试2.0+》里介绍的产品。

简单的来说,Soloπ是一款可以让你脱离 PC,仅仅只是在手机里,就能帮助你完成自动化测试、专项测试以及一机多控能力的产品。听起来是不是跟早几年腾讯的 GT 很像?后面我会简单跟腾讯 GT(随身测)做个对比。

脱离 PC 完成自动化,这个概念其实并不新颖了,许多手机厂商自己的测试应该也有不少类似的效果,对于一般用户来说,也有一些类似于按键精灵的软件,有些需要 root,也有不需要 root 的。比如说像AutomationClikerMacroDroid等软件,有兴趣的可以去搜索一下,多数需要付费才能体验完整的功能。

但是 SoloPi 有点不一样的是,它的定位不是简单的手机屏幕触控录制回放。而是把需要通过 PC 端 Client 来捕获元素,通过元素信息来进行自动化的一套完整移植到了手机端内。并且在此基础之上,拓展了一机多控等功能。
具体原理就不解释了,可以去看看Soloπ官方发的帖子,里面有很详细的介绍。

无线ADB

0x02 Soloπ与 Tencent GT

产品 自动化测试 专项测试 一机多控 接入成本
Soloπ(仅 android) 支持,可在设备上快速完成自动化用例录制,支持编辑 支持监控 CPU、内存、响应耗时、帧率、电池、网络、启动等性能指标,并能够对 CPU 和内存进行模拟施压 支持 安装一个 apk 即可
GT(iOS&Android) 不支持 在 soloπ的基础之上,还支持卡顿代码调用栈、页面加载速度、页面布局渲染速度、IO 使用情况、分线程 CPU 时间片统计 不支持 需要 app 集成 GT sdk

看完以上的表格,你就会明白,虽然都是打着场测的名号,但是它们完全不一样;
GT 专注于性能场测,而 Soloπ专注于自动化&一机多控,以及一些比较简单的性能采集;

GT 相比于 Soloπ在性能分析上能做得更加全面与深入,但是接入成本远比 Soloπ要高;
但 Soloπ在性能这一块,有一个模拟施压的能力,这个功能其实非常有用,能够模拟一些手机在高压场景下才会出现的问题。

说回 Soloπ,我们用它的话,其实更多的是解决 UI 自动化问题,以及需要突击的施压场景。

接下来分享一些我在使用 Soloπ的录制回放功能的一些体验感受。

0x03 使用体验

第一次玩的同学还是建议看一下Soloπ的官方文档,Soloπ文档还是很齐全的。

1.1 下载安装

2.1 录制回放

说实话,操作真的是非常简单:

一系列操作下来,基本可以无脑完成。
而 soloπ它本身也实现了 99%Appium 中的操作行为,你只需要在里面点按选择即可。(官方的文档已经很全了,我就不一一讲解步骤了)

基本上包含了:

基本上是你能想得到的都有。

2.2 用例逻辑控制

如果说你想像写代码一样,写if/else, 写while循环的话,Soloπ也支持的。但是目前的版本好像不能在录制的时候就补这个逻辑。
你必须录制完一个流程后,到用例编辑功能页里去,才能加入if/elsewhile等逻辑。

别问我怎么进用例编辑页,我一开始也找了好一圈。用例编辑页只有【全部用例】的列表下,才能操作。具体请看官方的用例编辑教程
非常详细了,我就不一一列举咯!

但是看完教程,我不禁沉思,我这样一套下来,花费的时间其实还蛮长的,如果说你要编写大量交互复杂的用例,这个方式其实是要慢于在电脑写脚本的。
不过对于 UI 自动化测试,我相信这个已经足够使用了。

2.3 用例导出以及导入(用例分发)

做 UI 自动化的一个比较大的目的,就是为了能够在不同的手机上进行回归测试。那我们在一个手机上录制的用例,如何同步到其他设备进行运行?

其实在《移动测试2.0+》里的大图里,有一部分是讲到 Soloπ手机端跟云端通信,将用例同步到云端,云端再下发给其他用例。这个是一个比较好的方案,我相信蚂蚁内部应该也是这么来走的。
但是开源出来的只有一个 app,如果说,想要实现大图里的这个云端管理流,还得配合你们公司的基础建设来二次开发实现。

所以目前在仅有一个 apk 的情况下,你想把你的用例分发到其他设备,还是老老实实得一个一个拿出来,再一个一个导入到其他手机里去把。

导致我们现在的用例导出导入流程是:

说到这,要给个差评,现在用例只支持单个用例导出,如果录制了多个用例,必须一个一个来手动在 app 里导出,然后你才能拿到导出后的用例文件。官方可以早点把批量导出的功能提供给用户。哈哈。

2.4 录制回放的报告

关于报告这一块,其实 soloπ做得挺好的,在一个小小的手机屏幕中,能够详细得看到每一个步骤运行的结果,结构都比较清晰,用例截图、运行日志都比较完善,易于分析👍。

2.5 录制回放的效果

录制回放的产品有不少,但是真正做得好的没几个。
早期的一些录制回放,要么基于坐标,兼容性差,没有可延续性;
要么必须依赖 PC,依赖许许多多组件,无法真正的『移动端测试』;
而 Soloπ正是通过通过无线 ADB+AccessbilityService 等能力,将这套流程正式移动端化并且产品化做得都还挺不错。
体验和 demo 效果真的是挺震撼的,非常不错。

但是对于截图断言等一些深入些的功能还没来得及体验,等体验后,如果有尿点我会回来吐槽的,哈哈。

0x0x

对于需要这种脱离 USB 线的模式的团队,Soloπ是非常值得尝试的。且开源的 soloπ也可以进行二次开发,做云端对接等等,如果有比较好的编程能力且有这样的基础设施,基于 Soloπ,能玩的东西也很多,正如 移动测试2.0+ 里所勾勒的大图那样,真要把这个大图闭环了,那确实是 2.0+。

下一次我会去玩一下模拟性能施压的能力,看看是否真的能帮助我们的产品发现性能问题。

今天就先到这。有任何不对的地方请大家指正交流。谢谢阅读,回头见。


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