开源测试工具 一站式开源分布式集群云真机测试平台 Sonic ——基于 Docker 方式部署 sonic 前后端(体验版)

aovenus for Sonic云真机系列 · 2022年01月07日 · 最后由 小志 回复于 2022年11月22日 · 8923 次阅读

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 监听,说明正常启动成功。

更多常见问题请参考该专栏其他同学总结!

共收到 6 条回复 时间 点赞

以上个人安装体验版过程,如有新的问题解决方法,欢迎大家继续补充完善!

😁 感谢大佬的分享~

请问部署的时候有遇到服务端报:java.sql.SQLNonTransientConnectionException: Could not create connection to database server.怎么解决吗?在容器里部署,数据库在宿主机,能够远程连 mysql,就是连不上😂

mysql 是装在 Centos 上还是 agent 机子上

lixf6 sonic 云真机 linux 单机版部署 中提及了此贴 03月25日 09:03

想问下,有没有遇过远程操作,拉动,点击等操作,远程真机无反应的情况

2022-11-22 21:46:33.943 - INFO 8036 --- [pool-3-thread-1] o.cloud.sonic.agent.bridge.ios.SibTool : listen done.
2022-11-22 21:46:43.043 - INFO 8036 --- [WebSocketConnectReadThread-39] o.c.s.agent.transport.TransportClient : Server disconnected. Retry in 10s...
这是啥问题啊

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册