欢迎扫码关注一下公众号,本初体验系列文章公众号也同步发布!

功能介绍
目前部署的Sonic版本:v1.3.0-release,下述功能均以该版本为准,但未必是最新功能。
系统功能图
账号系统
功能:可注册账号,有测试工程师和开发工程师两种角色。
评价:无账号权限控制功能,同STF。

设备管理
Agent中心
功能:点击Agent中心后,进入到Agent列表,展示目前的Agent信息。
评价:奥,原来这就是分布式集群呀,那以后扩展Agent,添加设备就老方便了,非常的奈斯!

设备中心
手机设置
功能:点击右上角设备中心,即可进入设备中心列表,插入后安卓机上会自动安装Sonic组件App和Appium App,针对这两个App给予最大的权限,电池设置也是。
评价:同STF相比,Sonic可显示的设备信息较少,但是足够用。

安装密码
功能:在更多信息-->安装密码中可填写设备安装App时需要的密码。
评价:对于VIVO和OPPO类型的机器特别有用,STF上没有该项功能,所以目前STF上的机器没有VIVO和OPPO。

远程控制页面
远控面板
点击马上使用进入设备投屏页。
功能:左侧显示手机投屏,可在网页上远控设备。
评价:Sonic的远控整体丝滑程度略逊于STF。
注意:如果首次进入远控,画面分辨率太低,可点击手动修复->修复黑屏。

功能:中间部分是各个功能菜单按钮,主要有如下:
- 投屏帧数修改
- 手动修复-->修复黑屏、修复触控
- 电池模拟:模拟通电和断电
- 查找设备:便于在众多设备中定位具体哪台设备
- 一些系统快捷键按钮:亮度、音量、通话、拍照等
评价:与STF大同小异,按钮布局比STF合理。

功能:右侧便是远控面板的基本功能:
- 文本输入
- ADB远程控制
- 扫码(基于的是图片传输到相册再进行扫码步骤)
- APK安装
- 录屏(该部分功能暂未开放)
评价:同STF相比,新增了扫码功能,对于扫码测试非常方便,目前尝试的1.3.0版本无文件传输,1.3.1版本已有,整体而言,Sonic比STF更简洁,主要功能更突出。
快速截图
功能:截屏当前设备,展示在网页上,并且可以直接保存到本地。
评价:相比较于STF,Sonic快速截图添加了保存截图的按钮,细节好评!

终端
功能:提供了终端和logcat功能。
评价:一般我司测试也用不到,开发可能用的到。

UI自动化
功能:
进入到UI自动化页面,可以看到关联的项目下的用例。

进入用例后可以看到具体的用例信息和用例执行步骤。

执行失败后的异常截图和日志信息。

同时也可以继续新增步骤。

评价:这是Sonic最大的产品特性,将控件获取、控件编辑、步骤新增、用例新增整个流程web化,仅仅是设备管理平台的STF是难以望其项背的。
控件元素
功能:获取页面控件树后,点击具体的控件,最右侧则会展示出对应的控件路径,以及相关推荐控件路径选项,这点功能对新手非常奈斯。
评价:目前用下来,Sonic控件获取能力不如Weditor,速度有点慢,高亮位置是有所偏移的,见下图,
且有些WebView的控件无法获取,但影响不大,无法直接获取的可用xpath或图像识别替代。

网页调试
领先众多设备管理平台N条街的网页调试功能,虽然我用不到,开发应该用得到。

测试管理
项目管理
功能:登录后即可看到新增项目和已有项目。

点击新增项目后可配置项目的相关信息,同时可配置群聊机器人的WebHook,便于执行完测试进行通知,目前机器人只支持钉钉和飞书。


评价:云测平台基本功能配置,但是免费+设备管理+云测项目管理,就我所知,Sonic独一份!
项目概况
功能:进入到具体项目中,可看到项目总的执行测试统计信息:用例运行时长、设备使用时长、运行结果总览。

评价:没啥好说,数据一目了然,很香!
测试用例管理
分为Android和iOS端测试用例,本文以Android端为例
测试用例
功能:
- 添加用例:右上角点击添加用例,可填写
用例名称
、所属项目
、平台
、模块
、版本
、用例描述
,最后如下图所示。


- 新增步骤:点击步骤详情后,进入步骤详情页面,点击右侧的新增步骤,步骤类型中已封装了常用的动作,涉及设备、触控、应用、控件操作。
和EpointATS提供的EpointATSXPath Tool工具、龙测的云测平台、Ranorex Studio的Spy工具都是大同小异,但EpointATSXPath Tool和Ranorex Studio Spy工具提供了新增完控件时或是之后高亮验证控件操作。



新增完成后,如下图,红框中的方向键可以拖动步骤来编排顺序,
可视化编排步骤顺序和Ranorex Studio如出一辙。

评价:Sonic基于Appium(Android)封装了一套可视化编辑的动作表,大大降低了使用者的学习门槛和成本,很香,但目前而言还不支持条件和迭代,复杂流程胜任不了。
测试套件
功能:进入测试套件后,可点击添加测试套件完成套件的新增
- 覆盖类型:
- 设备覆盖:指定测试套件在哪些台设备上执行
- 用例覆盖:指定测试套件覆盖哪些测试用例
- 关联设备:配置具体的测试套件执行设备
- 关联用例:配置具体的测试套件执行用例

完成新增后,如下图:

评价:Sonic测试套件关联测试用例和执行设备的设计方案,可以很容易的实现并行测试
。
定时任务
功能:进入定时任务后新增定时任务,关联测试套件、配置Cron表达式。

完成定时任务的新增,如下图:

评价:定时任务可以应用到某些周期性测试任务中。
测试数据管理
控件元素
功能:进入控件元素页面,可新增相关控件元素,该页面也可看做是控件库,类似于EpointATS中的repository_xxx.ini文件、Ranorex Studio中的*.rxrep文件

评价:控件元素中无高亮功能、无控件截图,不如Ranorex Studio,见下图

公共步骤
功能:进入公共步骤,可以添加公共步骤给不同的测试用例来复用,

评价:方便步骤的封装和复用
全局参数
功能:进入全局参数可添加适用于整个项目的参数,例如登录账号,密码之类的可以设置为全局参数

评价:目前还不支持包名设置成全局参数,和作者沟通后,后续会更新上
测试结果分析
测试结果
功能:进入执行报告列表,展示该项目下所有的执行报告数据,进入到具体的报告中可查看测试的详细信息。


- 性能信息
- 目前的性能信息只是有,但是准确度如何,我暂未验证!


评价:同Allure报告框架比,非常简洁,但目前未尝试大型报告打开的时间和查看方便性
持续集成设置-暂未开放
安装包管理
批量安装
崩溃上报
项目相关设置
模块管理
功能:在Sonic中,我的理解,模块是给不同的用例打上标签,将用例分配到不用的模块中,类似于OpenATS中控件库以及用例中分配不同的Page,作用类似。

评价:非必须,但是分配后,更规范,更容易管理
版本迭代
功能:我是直接基于待测软件的版本给定的版本号

评价:可以一目了然目前的待测软件版本以及版本发布路线
项目设置
功能:设置下项目的一些信息,Logo
、项目名称
、项目描述
、通知机器人
可以在新增完项目后再进行调整修改。

评价:云测平台的应有的基本功能配置。
功能总结
远控
- 同STF、ATXServer2相比,
- 远控主体功能Sonic更实用
- 设备兼容性Sonic吊打,开发者一直在维护,STF跟进慢,ATXServer2作者基本已弃坑
- iOS远控Sonic比STF更好,但目前也无法日常测试使用,主要还是wda的问题
- Android流畅性STF略胜一筹Sonic
测试管理
- 满足一般UI自动化测试框架的基本结构:项目-->测试套件-->测试用例-->步骤(可关联控件元素)+ 可视化执行报告,同时做到了数据与步骤分层、支持定时任务,并行测试,可视化报告等功能,是一套完成度可观的测试管理。