Sonic云真機測試平臺在windows的部署及使用
官網(wǎng):https://sonic-cloud.gitee.io/#/Home
github: https://github.com/SonicCloudOrg
一、安裝Docker
1、安裝wsl
雙擊wsl_update_x64.msi 默認安裝
?
2、安裝docker
https://www.docker.com/products/docker-desktop
?
下載Docker Desktop Installer 雙擊安裝
?
左下角的docker已經(jīng)是running狀態(tài),安裝成功
?
安裝docker-compose
Docker Desktop for Windows 自帶 docker-compose
測試,?win+r?輸入 cmd
1 | docker-compose --version |
?
?
二、安裝Mysql
?
1、下載安裝包,以及安裝mysql開發(fā)或服務(wù)器版本
2、新建數(shù)據(jù)庫sonic,用戶名root ?密碼123456
選擇字符集utf-8,排序規(guī)則為utf8_general_ci
?
3連接數(shù)據(jù)庫
?
?
4、添加root用戶遠程權(quán)限
use mysql;
select host,user FROM user;
update user set host='%' where user='root';
flush privileges;
select host,user,password from user;
?
?
三、部署服務(wù)端
?
?
1、docker-compose.yml文件配置
?
下載docker-compose.yml文件,創(chuàng)建sonic目錄,
下載最新的docker-compose.yml文件到?工作目錄?sonic
下載config文件夾到 工作目錄 sonic
在工作目錄sonic?新建logs、keepFiles、imageFiles、recordFiles、packageFiles五個文件夾
????│ ?docker-compose.yml
????│
????├─config
????│ ?????actuator-prod.yml
????│ ?????common-prod.yml
????│ ?????feign-prod.yml
????│ ?????jdbc-prod.yml
????│ ?????knife4j-prod.yml
????│ ?????logging-prod.yml
????│ ?????sonic-server-bus-prod.yml
????│ ?????sonic-server-controller-prod.yml
????│ ?????sonic-server-folder-prod.yml
????│ ?????sonic-server-gateway-prod.yml
????│ ?????sonic-server-task-prod.yml
????│ ?????sonic-server-transport-prod.yml
????│
????├─imageFiles
????├─keepFiles
????├─logs
????├─packageFiles
????└─recordFiles
?
2、在docker-compose.yml中修改數(shù)據(jù)庫及服務(wù)器的ip地址以及賬號密碼
?
version: '3'
services:
??sonic-server-simple:
????image: "sonicorg/sonic-server-simple:v1.3.2-release"
????environment:
??????#以下為MySql配置,localhost請?zhí)鎿Q為自己MySql服務(wù)的ipv4地址
??????- MYSQL_HOST=192.168.7.33
??????- MYSQL_PORT=3306
??????- MYSQL_DATABASE=sonic
??????- MYSQL_USERNAME=root
??????- MYSQL_PASSWORD=123456
??????#在服務(wù)器部署的話,localhost改為服務(wù)器ip,port更改為sonic-server-simple暴露的port(一般不變)
??????- SONIC_API_HOST=192.168.7.33
??????- SONIC_API_PORT=8094
??????- SONIC_NETTY_PORT=8095
??????#token加密的key值
??????- SECRET_KEY=sonic
??????#身份驗證token有效天數(shù)
??????- EXPIRE_DAY=14
??????#前端頁面訪問地址,不填默認為http://localhost:3000
??????- CLIENT_HOST=http://localhost:3000
??????#文件保留天數(shù)(指測試過程產(chǎn)生的文件,包括圖片、錄像等等)
??????- FILE_KEEP_DAY=60
??????#測試結(jié)果保留天數(shù)
??????- RESULT_KEEP_DAY=60
??????#以下均為Cron表達式
??????#清理文件定時任務(wù)
??????- FILE_CRON=0 0 12 ???
??????#清理測試結(jié)果定時任務(wù)
??????- RESULT_CRON=0 0 12 ???
??????#發(fā)送日報定時任務(wù)
??????- DAY_CRON=0 0 10 ???
??????#發(fā)送周報定時任務(wù)
??????- WEEK_CRON=0 0 10 ? * Mon
????networks:
??????- sonic-network
????volumes:
??????- files:/keepFiles/
??????- files:/imageFiles/
??????- files:/recordFiles/
??????- files:/packageFiles/
??????- files:/logs/
????ports:
??????- "8094:8094"
??????- "8095:8095"
??sonic-client-web:
????image: "sonicorg/sonic-client-web:v1.3.2-release"
????environment:
??????#192.168.1.1改為你的ipv4,port更改為sonic-server-simple暴露的port(一般不變)
??????- SONIC_API_HOST=192.168.7.33
??????- SONIC_API_PORT=8094
????networks:
??????- sonic-network
????ports:
??????- "3000:80"
?
volumes:
??files:
?
networks:
??sonic-network:
????driver: bridge
?
2、啟動服務(wù)端
執(zhí)行以下指令(確保logs、keepFiles、imageFiles、recordFiles、packageFiles、config、docker-compose.yml在同一目錄!如果提示無鏡像,可以先使用docker-compose pull)
docker-compose up -d
?
3、訪問云真機平臺
啟動后可以打開瀏覽器訪問?http://192.168.7.33:3000
注冊賬號,登錄,查看以及配置服務(wù)端
?
點擊右上角設(shè)備中心-》Agent中心
新增Agent,復(fù)制AgentKey
?

AgentKey在部署客戶端部署客戶端時,在application-prod.yml文件中,需要用到。
?
?
?
四、部署客戶端
?
?
該方式將部署Agent端、Appium等等環(huán)境。
1、安裝node,npm,
?
2、jdk16,
注意版本號,jdk必須16版本及以上。
將jdk路徑設(shè)置到系統(tǒng)環(huán)境變量,命名為JAVA_HOME
?
3、安裝SDK,
將安卓SDK設(shè)置到系統(tǒng)環(huán)境變量,命名為ANDROID_HOME。打開SDKManager,下載?built-tools?和?platform-tools。確保platform-tools目錄存在,adb指令可用
?
4、谷歌瀏覽器,chromedriver.exe
下載與Agent本機谷歌瀏覽器?版本對應(yīng)?的chromedriver.exe,并放到跟谷歌瀏覽器安裝同目錄下(可以谷歌瀏覽器地址欄輸入chrome://version,就看到安裝目錄了。大部分在這個目錄C:\Program Files\Google\Chrome\Application,有時候在Program Files(x86)里面)
?
5、安裝appium
npm i -g appium
?
6、application-prod.yml文件配置
從部署好的前端界面【設(shè)備中心】的【Agent中心】新增Agent,記錄Agent的Key
選擇?PC對應(yīng)的平臺zip?下載并解壓到任意目錄(標記為?工作目錄?)
sonic-agent-v1.3.2-release-windows_x86_64.zip
賦予工作目錄所有權(quán)限,然后確保解壓后的mini、webview、config、plugins文件夾與jar同級
$ sudo chmod -R 777 xxxxx
然后可以列出文件夾檢查一下
$ cd xxxxx ???
$ tree
?
│ ?sonic-agent-xxxx.jar
│
├─config
│ ?????application-prod.yml
├─plugins
├─mini
├─webview
?
2、修改config文件夾中?application-prod.yml?的配置信息,保存
?
sonic:
??agent:
????# 替換為部署Agent機器的ipv4
????host: 192.168.7.33
????# 替換為Agent服務(wù)的端口,可以自行更改
????port: 7777
????# 替換為前端新增Agent生成的key
????key:?62108da4-1252-4b42-8eb5-51275546d634
??server:
????# 這個host改成后端的host
????host: 192.168.7.33
????# 這個port改成后端文件中心的port(一般不變)
????folder-port: 8094
????# 這個port改成后端傳輸中心的port(一般不變)
????transport-port: 8095
?
modules:
??# 安卓模塊配置
??android:
????enable: true
????# 是否開啟遠程adb調(diào)試功能
????use-adbkit: true
??# iOS模塊配置
??ios:
????# 如果不需要連接iOS設(shè)備,請將true改為false。開啟的windows用戶請確保本機已安裝iTunes
????enable: false
????# 替換為你自己使用的wda的bundleId,如果沒有.xctrunner后綴會自動補全,建議使用公司的開發(fā)者證書
????wda-bundle-id: com.facebook.WebDriverAgentRunner.xctrunner
??appium:
????enable: true
????# 默認為0會自動尋找隨機端口啟動,如果需要指定appium server端口,請在這里設(shè)置
????port: 0
??# 在線webView調(diào)試模塊配置
??webview:
????enable: true
????# 谷歌調(diào)試端口,一般不需要修改(默認0使用隨機端口,如果需要開啟防火墻給外部使用,請設(shè)置固定端口如7778)
????chrome-driver-debug-port: 0
????# Agent機器上的chrome瀏覽器的driver路徑,可以去http://npm.taobao.org/mirrors/chromedriver/下載
????chrome-driver-path: C:\Program Files\Google\Chrome\Application\chromedriver.exe
7、啟動客戶端
快速啟動?
java -jar sonic-agent-xxxx.jar
?
部署完畢!自行插入設(shè)備即可.
?
五、成功部署效果展示
查看手機連接及遠程操作手機設(shè)備,手機開啟調(diào)試權(quán)限。
http://192.168.7.33:3000/?注冊,登錄
進入設(shè)備中心,選擇插入連接的手機,手機會提示你安裝sonic,點擊同意
進入馬上使用
?


點擊馬上使用:點擊元素控件

點擊UI自動化,錄入case,點擊開始運行,查看運行日志。


???完結(jié)撒花???
