前言

用户社区
官方网站

一、 技术选型标准

适用对象

以平台类 App 作为测试主体,涉及 Native、RN、Flutter、H5 等多种容器载体、并包含音频、视频、图片、文字、交互动画等多种表现形式。

平台框架

综合考虑技术选型的通用性、可维护性及前期学习成本。
1)前端框架及语言【VUE+TypeScript】
2)后端框架及语言【SpringBoot+Java】
3)自动化脚本及辅助工具【Appium+Python】
4)iOS 助手【WDA+ObjectC】
5)Android 助手【Appium+Java/Kotlin】

设备管理

软件:采用 Master-Slave 分布式架构设计,以 Agent 的形式对设备进行组管理,并接入到 Server 进行水平扩展,设备管理可支持 Android、Harmony 和 iOS 系统的设备接入,可同时控制总数在 150-200 台的设备。
硬件:由于移动设备管理涉及电源、散热及设备连通性。除商用私有化部署方案提供机柜机架等配套硬件外,除 sonic 外的开源项目均无搭配的参考硬件支持。在最新版本的 sonic 中已将设备硬件纳入软件设计实现中。官方支持的移动设备管理,与自行购买组装【机柜 + 风扇 + 程控 hub+ 工控机】的方案相比,兼容性及后续可维护性更高。

应用管理

我司现有的应用安装包构建方式,分为 ici 集成构建与本地打包构建两种,故云测平台需支持本地上传安装包【本地打包】与远程上传安装包【ici 集成构建】两种方式。

远程控制

作为云真机的核心,在手机接入云测平台后,通过网页控制台的方式提供云真机服务,包括设备投屏、操作、调试、抓包、截图、录屏等各种功能,对标使用真实手机的体验。

性能监控

通过调用系统 api 及使用传感器,非侵入式采集系统的各种性能指标,包括但不限于【CPU、内存、网络、功耗、温度、电量、FPS、卡顿等】,供作为应用包的版本性能基线及厂商预置渠道上架评测使用。

技术支持

活跃的社区及稳定的平台维护更新,及功能升级。可同步更新社区开源的新功能及问题修复。后期可考虑作为 commiter 贡献代码,提升对外的技术影响力。

UI 自动化

原生支持 Appium 的 UI 自动化能力,可扩展其他引擎及语言脚本的支持。

二、竞品分析

从商用及开源产品中,选择有代表性的头部产品从适用对象、平台框架、设备管理、应用管理、远程控制、性能监控、技术支持及 UI 自动化八大维度进行对比打分。根据上述技术选型标准,综合评估,最终选择 sonic 作为公司云测试服务的技术底座,进行后续的功能迭代及适配性改造升级。

三、评估数据


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