去年部门在调研了 STF、ATXServer2、Testin、岩鼠等移动设备管理平台后,综合考虑了成本和使用效果,最终还是决定使用 STF,但是目前的 STF 存在如下的不足和问题,主要有如下几点:
针对以上问题,要么二开 STF,要么换平台。
后无意间看到一大佬(听说后来入职米哈游)开源了一款Sonic,目标是提供一站式开源分布式集群云真机测试平台,于是最近尝试了一下,做了记录,不想看使用详情的可以直接阅读对比总结篇。
Sonic 搭建流程篇见-->《Sonic 初体验零之搭建记录》
Sonic 功能介绍篇见-->《Sonic 初体验一之功能介绍》
Soinc 云测体验篇见-->《Sonic 初体验二之云真机 UI 自动化》
Sonic 对比总结篇见-->《Sonic 初体验三之总结对比》
按照官方给出的部署文档中的快速搭建流程进行部署,本次尝试主要是体验 Sonic 整体功能,对比同类产品,并给出评估结果。
官方文档已足够详细,本文只针对我自己(Mac新手
)的安装流程做下记录。
安装流程按照清华源文档进行,安装完成后镜像改为中科大的镜像即可,或是安装的时候直接将地址改成中科大地址,清华源的镜像貌似已炸。
清华源地址: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
brew install mysql@5.7
最开始没用 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)
# 更新
brew tap homebrew/cask
# 安装
brew install android-sdk --cask
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 info
,存在镜像地址即配置成功。
# 安装
brew install node
# 配置淘宝源
npm config set registry http://registry.npm.taobao.org
# 查看是否配置成功
npm get registry
npm i -g appium
# 前提是有Python3环境,可直接用Homebrew安装
# 安装python3.8
brew install python@3.8
# 安装tidevice
pip3 install -U tidevice
chrome://version
,下载与下图黄框版本号对应的驱动,放置到红框的同级目录即可以上是一些必要组件的安装流程,至于 Sonic 的搭建,直接看官方文档即可。
Sonic 整体安装下来的感受是:相较于 STF 的搭建(文档残缺)和 ATXServer2 的搭建,Sonic 文档详实,且安装流程上手非常容易,STF 的 iOS 端搭建,我在中研院大佬朱德振
的相助下,才得以完成,再次感谢!