背景介绍

去年部门在调研了 STF、ATXServer2、Testin、岩鼠等移动设备管理平台后,综合考虑了成本和使用效果,最终还是决定使用 STF,但是目前的 STF 存在如下的不足和问题,主要有如下几点:

针对以上问题,要么二开 STF,要么换平台。

后无意间看到一大佬(听说后来入职米哈游)开源了一款Sonic,目标是提供一站式开源分布式集群云真机测试平台,于是最近尝试了一下,做了记录,不想看使用详情的可以直接阅读对比总结篇。
Sonic 搭建流程篇见-->《Sonic 初体验零之搭建记录》
Sonic 功能介绍篇见-->《Sonic 初体验一之功能介绍》
Soinc 云测体验篇见-->《Sonic 初体验二之云真机 UI 自动化》
Sonic 对比总结篇见-->《Sonic 初体验三之总结对比》

搭建流程

按照官方给出的部署文档中的快速搭建流程进行部署,本次尝试主要是体验 Sonic 整体功能,对比同类产品,并给出评估结果。

官方文档已足够详细,本文只针对我自己(Mac新手)的安装流程做下记录。

镜像地址

安装 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

方式一:

# 更新
brew tap homebrew/cask

# 安装
brew install android-sdk --cask 

方式二:

# 编辑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


安装 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 端搭建,我在中研院大佬朱德振的相助下,才得以完成,再次感谢!

参考文档:

  1. How to Install Java OpenJDK 16 on macOS Big Sur
  2. How to Install ADB on Windows, macOS, and Linux


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