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

背景介绍
去年部门在调研了STF、ATXServer2、Testin、岩鼠等移动设备管理平台后,综合考虑了成本和使用效果,最终还是决定使用STF,但是目前的STF存在如下的不足和问题,主要有如下几点:
- 无账号权限管理系统功能
- 无设备预约租借功能
- 无设备使用时长统计功能
- 无文件传输功能
针对以上问题,要么二开STF,要么换平台。
后无意间看到一大佬(听说后来入职米哈游)开源了一款Sonic,目标是提供一站式开源分布式集群云真机测试平台,于是最近尝试了一下,做了记录,不想看使用详情的可以直接阅读对比总结篇。
Sonic搭建流程篇见-->《Sonic初体验零之搭建记录》
Sonic功能介绍篇见-->《Sonic初体验一之功能介绍》
Soinc云测体验篇见-->《Sonic初体验二之云真机UI自动化》
Sonic对比总结篇见-->《Sonic初体验三之总结对比》
搭建流程
按照官方给出的部署文档中的快速搭建流程进行部署,本次尝试主要是体验Sonic整体功能,对比同类产品,并给出评估结果。
官方文档已足够详细,本文只针对我自己(Mac新手
)的安装流程做下记录。
- 设备:Macbook Pro M1
- Sonic:1.3.0-release
- MySql:5.7.27
- Docker:20.10.12
- Java:16.0.1
- Appium:1.22.2
- ADB:1.0.41
- Node.js:v17.4.0
- ChromeWebdriver:98.0.4758.102
- tidevice:0.6.1
- adbkit:2.11.1
- npm:8.3.1
- Android SDK
镜像地址
但凡遇到速度慢的都先尝试下镜像
关于Github下载速度慢的可使用:Github加速下载
提高自己上网的姿势
安装HomeBrew
安装流程按照清华源文档进行,安装完成后镜像改为中科大的镜像即可,或是安装的时候直接将地址改成中科大地址,清华源的镜像貌似已炸。
清华源地址:Homebrew / Linuxbrew 镜像使用帮助
替换中科大镜像地址
# 进入brew的仓库根目录
cd "$(brew --repo)"
# 查看仓库地址
git remote -v
# 如下所示,目前是清华大学源,地址已打不开
origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git (fetch)
origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git (push)
# 修改为中科大的源
git remote set-url origin https://mirrors.ustc.edu.cn/brew.git
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-cask"
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
# 更新
brew update -v
# bash和zsh更新
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile
source ~/.bash_profile
# zsh同步bash环境变量,在~/.zshrc中添加
source ~/.bash_profile
安装MySql
brew install mysql@5.7
安装Java 16
最开始没用Homebrw安装Java,图省事还是建议Homebrew安装,后续补流程。
到这个地址-->https://jdk.java.net/archive/找适合自己平台的Java16,然后就是一路命令。
# 复制文件到Java虚拟机目录
sudo mv openjdk-16.0.1_osx-x64_bin.tar.gz /Library/Java/JavaVirtualMachines/
# 进入该目录
cd /Library/Java/JavaVirtualMachines/
# 解压
sudo tar -xzf openjdk-16.0.1_osx-x64_bin.tar.gz
# 删除文件
sudo rm openjdk-16.0.1_osx-x64_bin.tar.gz
# 获取jdk16路径
/usr/libexec/java_home -v16
# 回显出的路径
/Library/Java/JavaVirtualMachines/jdk-16.jdk/Contents/Home
# 配置到环境变量中
echo -n "\nexport JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-16.jdk/Contents/Home" >> ~/.bash_profile
# 更新
source ~/.bash_profile
# 查看是否配置正确
java -version
# 回显内容
openjdk version "16.0.1" 2021-04-20
OpenJDK Runtime Environment (build 16.0.1+9-24)
OpenJDK 64-Bit Server VM (build 16.0.1+9-24, mixed mode, sharing)
安装ADB&Android SDK
方式一:
可以直接用Homebrew下载
# 更新
brew tap homebrew/cask
# 安装
brew install android-sdk --cask
方式二:
去谷歌下Android Studio,然后下SDK,最后配置一下环境变量即可食用,Android Studio下载地址:https://developer.android.com/studio#downloads
安装完Android Studio,打开Android Studio进行SDK的下载

下载完成后配置环境变量,这里要注意的是不像win平台,在配置完成后直接敲入adb
可查看效果,mac上必须敲入合法的命令语法才能有反应
# 编辑bash_profile,配置环境变量
vi ~/.bash_profile
# 填入你本机的Android SDK的路径
export ANDROID_HOME=/Users/taurus/Library/Android/sdk
# 平台工具和工具路径也需要配置
export PATH=$ANDROID_HOME/platform-tools:$PATH
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/tools/bin:$PATH
# 配置完成后更新
source ~/.bash_profile
# 查看时候配置正确
adb vertsion
# 回显内容
Android Debug Bridge version 1.0.41
Version 32.0.0-8006631
Installed as /Users/taurus/Library/Android/sdk/platform-tools/adb
安装Docker
桌面版下载地址:Docker Desktop
配置镜像地址,重启后查看docker info
,存在镜像地址即配置成功。


安装Node
# 安装
brew install node
# 配置淘宝源
npm config set registry http://registry.npm.taobao.org
# 查看是否配置成功
npm get registry
安装Appium
npm i -g appium
安装Tidevice
# 前提是有Python3环境,可知己用Homebrew安装
# 安装python3.8
brew install python@3.8
# 安装tidevice
pip3 install -U tidevice
安装ChromeWebdriver

以上是一些必要组件的安装流程,至于Sonic的搭建,直接看官方文档即可。
搭建总结
Sonic整体安装下来的感受是:相较于STF的搭建(文档残缺)和ATXServer2的搭建,Sonic文档详实,且安装流程上手非常容易,STF的iOS端搭建,我在中研院大佬朱德振
的相助下,才得以完成,再次感谢!
参考文档:
- How to Install Java OpenJDK 16 on macOS Big Sur
- How to Install ADB on Windows, macOS, and Linux