专栏文章 学习笔记:Windows10 系统部署 Sonic 云真机平台

大海 · 2024年02月05日 · 最后由 Eason 回复于 2024年02月20日 · 5451 次阅读

背景需求

由于公司组织架构的不同,测试部的同事均分布在不同的城市,如何将有限的测试手机进行最大化的利用,是当前需要解决的问题。同时,考虑到跨地区、跨部门的同事,也经常需要使用测试手机进行问题排查和联调,我们急需在公司内部搭建一套云真机平台,目前 Sonic 云真机平台就很好地解决了这一痛点。

准备工作

安装 MySQL5.7 Server

配置 JDK17 环境
  • 系统中是 Java 8 版本,下载并安装 amazon-corretto-17.0.10.7.1-windows-x64.msi 就行了
  • 验证 JAVA 环境是否正确
  • 验证 JDK 版本是否正确
系统开启 Hyper-V 虚拟化服务


前后端部署

下载并安装 Docker Desktop 应用程序
Docker Desktop Installer.exe
执行 Docker,服务启动成功

检查 Windows10 系统是否 Docker 是否安装成功

检查 Windows10 系统是否自带 docker-compose

创建一个 MySQL 数据库
  • 数据库名可自定义,注意字符集为 utf8,排序规则为 utf8_general_ci
  • 使用 select user, host from user; 命令查看 root 用户的 host,可以看到默认是 localhost
  • 修改 root 用户的 host 为百分号后就可以用 ip 访问了。
  • update user set host='%' where user='root';
  • 然后 flush privileges; 使之生效。
下载最新版本的 zip 文件到任意目录,解压 zip,更改.env 中的信息。


.env 配置项解释

当前目录下执行以下指令,进行相关组件的安装
docker-compose up -d
安装完毕后,前后端部署结束,等待服务生效

因 Eureka 心跳机制,刚启动完毕微服务间互相访问需要 3~5 分钟,请耐心等候。打开浏览器访问 http://本机 IP:3000,然后可直接前往 Agent 端部署。

Agent 端部署

该方式将以本地 jar 包部署 Agent 端、Appium 等等环境。
最低启动要求为 JDK17,可以前往https://docs.aws.amazon.com/corretto/latest/corretto-17-ug/downloads-list.html安装下载。
从部署好的前端界面【设备中心】的【Agent 中心】新增 Agent,记录 Agent 的 Key。
配置 ADB 命令


TIP:
从v2.5.3起,为降低用户部署成本,Agent在plugins文件夹下内置adb。
但是已知多个adb-server同时工作会出现抢占问题,因此如果你本地有其他adb-server正在工作,希望用自己已有的adb 或 版本低于v2.5.3时,需要加上这两步:
将安卓 SDK 设置到系统环境变量,命名为 ANDROID_HOME。打开 SDKManager,下载 platform-tools。确保 platform-tools 目录存在,adb 指令可用。
将 ANDROID_HOME、ANDROID_HOME/platform-tools 添加到系统 PATH 中。
选择 PC 对应的平台 zip 下载并解压到任意目录(标记为工作目录,请自行前往https://github.com/SonicCloudOrg/sonic-agent/releases下载)

赋予工作目录所有权限,然后确保解压后的 mini、config、plugins 文件夹与 jar 同级

修改 config 文件夹中 application-sonic-agent.yml 的配置信息,保存。

在工作目录路径下执行以下指令。
java -Dfile.encoding=utf-8 -jar sonic-agent-windows-x86_64.jar


Agent.bat 文件脚本
cd C:\sonic-agent-v2.6.3-windows_x86_64
chcp 65001
set PYTHONIOENCODING=UTF-8
java -Dfile.encoding=utf-8 -jar sonic-agent-windows-x86_64.jar
部署完毕,Agent 服务启动成功

可以前往设备接入文档(设备请竖直放置或平摊放置,左右旋转放置有可能影响坐标定位)。


相关软件

链接:https://pan.baidu.com/s/1ImUnC6sOskn6WBzG02TtgA?pwd=49xq
提取码:49xq

参考资料

https://sonic-cloud.cn/deploy/back-end-deploy.html
https://sonic-cloud.cn/deploy/agent-deploy.html
https://blog.csdn.net/qq_38161040/article/details/122976930
https://blog.csdn.net/weixin_39970883/article/details/131379485

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 3 条回复 时间 点赞

@ZhouYixun 感谢 Sonic 提供了这么一个功能强悍的云真机平台。
反馈 2 个问题:
1、同事把手机拔了,手机还是显示在线中,后来我远程重启手机,状态才变成了离线。
2、新增手机设备的时候,不能立刻就显示出来,页面刷了好几次也不行,后来重新执行了 java -Dfile.encoding=utf-8 -jar sonic-agent-windows-x86_64.jar,才显示了新增的设备。

mark 用的时候翻翻 感谢分享

2楼 已删除
大海 回复

这两个问题看着像是你 cmd 运行的窗口你鼠标点过,导致 cmd 窗口阻塞卡死,正常不会有这两个问题的

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