开源测试工具 Sonic 初体验零之搭建记录

干饭狂人 for Sonic云真机系列 · March 01, 2022 · Last by tangoliver replied at November 22, 2022 · 5398 hits

背景介绍

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

参考文档:

  1. How to Install Java OpenJDK 16 on macOS Big Sur
  2. How to Install ADB on Windows, macOS, and Linux
共收到 5 条回复 时间 点赞

感谢支持~

6 呀~富婆找到了没~

咸鱼菜鸡 回复

那肯定是没有啊,找到了,我就不打工了!😎

这个可以群控手机不?

厉害,感觉可以 window 试装一波

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up