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

凉秀策 测试交流1 261字数 2829阅读模式

Sonic:一站式开源分布式集群云真机测试平台,致力服务于中小企业的客户端 UI 测试,永久免费。

以下是本人实际搭建过程总结,希望对计划或正在搭建的同学有帮助!文章源自玩技e族-https://www.playezu.com/182037.html

Docker 方式部署 sonic 前后端(体验版)环境信息:文章源自玩技e族-https://www.playezu.com/182037.html

Docker 所属操作系统:Centos 7.5文章源自玩技e族-https://www.playezu.com/182037.html

数据库:Mysql5.7.34文章源自玩技e族-https://www.playezu.com/182037.html

Agent 部署环境:Windows 7 64bit 旗舰版、JDK16、Appium1.9.10、Nodejs
V13.14、Appium1.19.1文章源自玩技e族-https://www.playezu.com/182037.html

一、安装 Mysql 数据库文章源自玩技e族-https://www.playezu.com/182037.html

1、安装 mysql 数据库,具体安装参见:https://www.cnblogs.com/sshoub/p/4321640.html文章源自玩技e族-https://www.playezu.com/182037.html

2、创建数据库 sonic(具体也可自定义,确保后续配置文件中数据库保持一致即可)文章源自玩技e族-https://www.playezu.com/182037.html

【注意】:字符集为 utf8,排序规则为 utf8_general_ci文章源自玩技e族-https://www.playezu.com/182037.html


文章源自玩技e族-https://www.playezu.com/182037.html

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

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

软件测试中的功能测试是

玩技站长微信
添加好友自动发送入群邀请
weinxin
rainbow-shownow
玩技官方公众号
官方微信公众号
weinxin
PLAYEZU
 最后更新:2023-6-8
  • 版权提示:本站仅供存储任何法律责任由作者承担▷诈骗举报◁▷新闻不符◁▷我要投稿◁
    风险通知:非原创文章均为网络投稿真实性无法判断,侵权联系2523030730
    免责声明:内容来自用户上传发布或新闻客户端自媒体,切勿!切勿!切勿!添加联系方式以免受骗。
  • 原创转载:https://www.playezu.com/182037.html
    转载说明: 点我前往阅读>>>
    • aovenus
      aovenus 9

      以上个人安装体验版过程,如有新的问题解决方法,欢迎大家继续补充完善! 感谢大佬的分享~请问部署的时候有遇到服务端报:java.sql.SQLNonTransientConnectionException: Could not create connection to database server.怎么解决吗?在容器里部署,数据库在宿主机,能够远程连 mysql,就是连不上 mysql 是装在 Centos 上还是 agent 机子上想问下,有没有遇过远程操作,拉动,点击等操作,远程真机无反应的情况

    匿名

    发表评论

    匿名网友
    确定