Sonic:一站式开源分布式集群云真机测试平台,致力服务于中小企业的客户端 UI 测试,永久免费。
以下是本人实际搭建过程总结,希望对计划或正在搭建的同学有帮助!
Docker 方式部署 sonic 前后端(体验版)环境信息:
Docker 所属操作系统:Centos 7.5
数据库:Mysql5.7.34
Agent 部署环境:Windows 7 64bit 旗舰版、JDK16、Appium1.9.10、Nodejs
V13.14、Appium1.19.1
一、安装 Mysql 数据库
1、安装 mysql 数据库,具体安装参见:https://www.cnblogs.com/sshoub/p/4321640.html
2、创建数据库 sonic(具体也可自定义,确保后续配置文件中数据库保持一致即可)
【注意】:字符集为 utf8,排序规则为 utf8_general_ci
二、Centos 系统下安装 Docker
Docker 具体安装参考:https://blog.csdn.net/m0_37679452/article/details/105188372
三、基于 Docker 方式一键部署前后端
该方式将一次性部署 Sonic 服务端(单机版),Sonic 前端,可根据 docker-compose.yml 文件内容自定义参数。
(a)下载docker-compose.yml文件
下载地址:https://github.com/SonicCloudOrg/sonic-server-simple/releases
修改文件中的数据库连接地址信息
(b)上传docker-compose.yml文件至 Centos 服务器
(c)运行 docker-compose up -d
安装完成后,可以访问http://ip:3000即可访问管理页面,根据提示注册用户即可登录。
使用 docker ps 可以查看当前运行的容器:docker ps
如要查看 simple 服务实时日志,可以使用:docker logs -f 7486ec666762
4、Windows 下基于 jar 包方式部署 Agent
部署 agent 前环境准备工作:
(a)安装 npm
(b)安装 Nodejs
建议从官网下载 Nodejs,推荐 LTS 版本,比较稳定:https://nodejs.org/en/download/releases/
下载安装包后按照提示安装即可。
【注意】windows 7 支持的 Nodejs 版本是 V13.14,其它新版本不兼容。
(c)安装 jdk16(注意是 JDK16 不是 1.6,请睁大眼睛哦),并将 JDK 路径设置到系统环境变量,命名为 JAVA_HOME
(d)安装安卓 SDK:将安卓 SDK 设置到系统环境变量,命名为 ANDROID_HOME。确保 platform-tools 目录存在,adb 指令可用。
(e)安装 appium:npm install -g appium@1.19.1 --chromedriver-skip-install
安装完成后查看版本:appium -v
(f)tidevice 安装,详见https://blog.csdn.net/aovenus/article/details/122181915
(g)安装谷歌浏览器:
(h)下载并安装 chromedriver.exe:
查看谷歌浏览器版本:点右侧三个竖点—>帮助—>关于 Google
Chrome,可以看到谷歌浏览器版本。
下载该浏览器版本 93.0.4577.63 对应的 chromedriver.exe,下载地址:http://npm.taobao.org/mirrors/chromedriver/
下载后放到谷歌浏览器所在目录下:
基础环境配置完成后,下面开始部署 agent:
(1)通过http://ip:3000sonic 管理页面,访问在【设备中心】的【Agent 中心】新增 Agent,记录 Agent 的 Key
(2)下载 agent-sources.zip 和 符合自己系统的 jar 包
到任意目录(如本示例为 sonic)
下载地址:https://github.com/SonicCloudOrg/sonic-agent/releases
解压 agent-sources.zip 内的文件到 sonic 目录
下(即解压后的 mini、language、chromeDriver、config、plugins 文件夹与 jar 同级)。
修改 config 文件夹中 application-prod.yml 的配置信息,并保存。
【注意】:重点正确填写红色标注的内容!!!务必正确!!
之后切换到 jar 包所在目录运行:java -jar sonic-agent-windows-x86_64.jar
如正常显示如上信息,则表示部署成功!!恭喜恭喜,下面就开心体验吧!
之后自行接入安卓设备即可(设备请竖直放置或平摊放置,左右旋转放置有可能影响坐标定位),记得开启 USB 设备调试。
adb 查看接入设备:
(3)访问 sonic 管理页面:http://ip:3000,输入登录用户名和密码登录。
可以看到已接入的设备,并显示状态为空闲中,点 “马上使用”,手机上将提示安装 sonic、appium 插件应用。
之后根据提示安装 uiaotomator2
安装完成后,管理界面中将正常显示手机界面,并可以远程操作了!开始你的自由之旅吧!
附:安装部署常见问题
【问题 1】JDK 版本不对,启动 agent 时报如下错误。
【解决方法】需要 JDK16 以上,不是 JDK1.6,同学,睁大眼睛看清楚哦!
JDK 下载地址:https://jdk.java.net/archive/
安装完成后查看 JDK 版本。
【问题 2】使用 java -jar sonic-agent-windows-x86_64.jar 启动 agent 时,
Appium 环境检查报错。
【解决方法】使用 npm i -g appium 安装
【问题 3】使用 java -jar sonic-agent-windows-x86_64.jar 启动 agent 时,adbkit
环境不通过 ×
【解决方法】使用 npm i -g adb kit 安装或下载 adb
kit(https://adbshell.com/downloads)并添加到系统环境变量 PATH。
【问题 4】使用 java -jar
sonic-agent-windows-x86_64.jar 启动 agent 时,chromedriver 环境检查不通过 ×
【解决方法】没有修改 agent-sources/config/application-prod 文件中 chromedriver 路径,修改为当前实际路径即可。
【问题 5】使用 java -jar
sonic-agent-windows-x86_64.jar 启动 agent 时,运行后报以下错误:
需要卸载本机已安装 Appium,使用 npm i -g
appium 重新安装。
安装完成后查看版本:
再次启动 agent 后,应该可以看到端口 7777 监听,说明正常启动成功。
更多常见问题请参考该专栏其他同学总结!