背景需求

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

准备工作

安装 MySQL5.7 Server

配置 JDK17 环境
系统开启 Hyper-V 虚拟化服务


前后端部署

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

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

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

创建一个 MySQL 数据库
下载最新版本的 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


↙↙↙阅读原文可查看相关链接,并与作者交流