云真机 Sonic 平台搭建

本贴最后更新于 999 天前,其中的信息可能已经时移俗易

云真机测试平台:Sonic

官网文档:https://sonic-cloud.gitee.io/#/Deploy

部署步骤:

1)后端(部署linux环境-参考官网一键部署方式)

2)前端(部署linux环境-参考官网一键部署方式)

3)Agent端部署(必须部署在windows环境下)

a.安装依赖 node.js、npm、jdk16、安卓sdk、appium

b.node.js

自行百度,最后是16.x稳定版,或者参考linux安装方法

c.npm

自行百度,一定要替换安装源,或者参考linux安装方法

d.jdk16

安装自行百度,java jdk 国内下载镜像地址:
(1)TUNA镜像 https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/
(2)HUAWEI镜像 https://repo.huaweicloud.com/java/jdk/
(3)injdk https://www.injdk.cn/
(4)http://www.sousou88.com/spec/java_openjdk.html

e.安装sdk

自行百度,或者参考linux安装方法

f.appium

npm install -g appium@1.19.1

3)Agent端(Ubuntu20.04桌面版)

a.npm安装(官方安装参考档:https://github.com/nodesource/distributions):

步骤:
1)第一步,去 nodejs 官网 https://nodejs.org 看最新的版本号(建议选择稳定版本);

2)第二步,添加源后安装

添加源:
curl -sL https://deb.nodesource.com/setup_16.14.0 | sudo -E bash -

下载:
sudo apt-get install -y nodejs

验证:
nodejs -v

安装npm:
apt install npm

验证npm(无报错就是成功的):
npm -v

设置npm下载源为淘宝的(可以自行换源):
sudo npm config set registry https://registry.npm.taobao.org

b.jdk16安装:

方法一(不推荐使用,我搞失败了,直接使用方法二)

1)下载jdk16(在跟目录新建一个java文件夹,下载后放进去)
http://jdk.java.net/archive/
2)解压jdk16

tar -zxvf openjdk-16.0.1_linux-x64_bin.tar.gz

3)配置环境变量
进入系统环境变量设置:vim /etc/profile
添加环境变量
export JAVA_HOME=/usr/share/openjdk-16.0.1_linux-x_bin export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
重启系统,不要使用source /etc/profile 没有用,我试了

注意点,不知道java安装在哪里了可以使用命令查看:

java -verbose

方法二:

5)直接在ubuntu中下载:
apt install openjdk-16-jre-headless

查看版本

c.安装SDK安装:

方法一(我试过了,最终运行的时候检测不到ANDROID_HOME系统变量,参考我方法二):
apt install android-sdk
apt install android-tools-adb
apt install android-tools-fastboot
验证(adb):

方法二:
1)下载安卓包

在国内源下载SDK Tools:
https://www.androiddevtools.cn/

2)选择目录进行解压,进入到解压目录,使用命令进行升级:
tools/android update sdk --no-ui

3)配置环境变量,vim /etc/profile 目录:
vim进入到/etc/profile后,在末尾加上:
export ANDROID_HOME=/home/kemi/android-sdk-linux
export PATH=$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH
4)重启一下ubuntu,别图省事用source /etc/profile ,我试过了,没得用

d.谷歌浏览器安装:

安装依赖:
apt-get install libxss1 libappindicator1 libindicator7

下载谷歌浏览器包:
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

安装浏览器:
sudo dpkg -i google-chrome*.deb
sudo apt-get install -f

e.谷歌驱动安装:chromedriver.exe

查找对应浏览器的驱动后,在如下网站找到对应驱动并下载:
https://registry.npmmirror.com/binary.html?path=chromedriver/98.0.4758.80/

下载下来的包,进行存档 移动:
安装存档依赖:apt-get install unzip
存档:unzip chromedriver_linux64.zip
移动:mv -f chromedriver /usr/local/share/chromedriver

建立软连接:
ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver

f.Appium安装:

下载:
npm install appium -g --registry=https://registry.npm.taobao.org/

若遇到如下问题,说明安装的node.js和npm版本过低导致,需要升级:

升级

升级:
方法一:普通用户
curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo npm install -g npm

方法二:管理员
curl -fsSL https://deb.nodesource.com/setup_current.x | bash -
apt-get install -y nodejs
sudo npm install -g npm

验证:

j.配置agent:

1)在代理中心生成一个key值:

2)根据文档修改host、key、driver路径
java -jar sonic-agent-xxxx.jar

问题1:

使用python3.6以上版本安装:
pip3 install -U "tidevice[openssl]"

问题2:

npm i -g adbkit

开启成功:

4)IOS端设备接入

5)启动agent端服务(linux)

问题1:

解决方案(安装有python3.6以上用如下命令,不是的话看他提供的链接):
pip3 install -U "tidevice[openssl]"

问题2:

npm i -g adbkit

问题3:检测不到appium的js文件信息(怀疑是 自行升级后node.js和npm 之后下载的 appium 有缓存,我这里卸载掉appium 重新下载这个问题没有了。)

卸载:
npm uninstall -g appium

安装:
npm i -g appium

6)启动agent端服务(windows)

这里不做展示,启动方法与linux一致

7)效果展示

回帖
请输入回帖内容 ...