一、平台介绍
目前是经历过的最好用的一款移动端自动化测试,主要是对代码没要求,部署好可以直接使用,支持手机Android端、IOS端、webView、小程序自动化测试
二、平台搭建
1、硬件环境
- mac笔记本电脑
- 真实的手机,用于测试
2、Docker安装
(1)安装 Mac 版 Docker,可以通过brew命令行安装
(2)打开命令终端直接输入: brew install --cask --appdir=/Applications docker
直到看到命令执行安装成功
遇到的问题:安装的时候提示报错信息如下
解决方式:mac电脑上已经安装了3.8的版本,卸载后重新安装3.9(python-3.9.6-macosx10.9)的版本,问题就解决了,。
(3)安装完成后,打开应用文件夹(可能会自动打开)并且双击 Docker 应用图标来启动 Docker。可能需要确认是否运行,因为这是从互联网下载的应用程序。
Docker daemon 进程启动。
一个活动的鲸鱼图标会在屏幕上方状态栏中出现。一旦 Docker 成功运行,鲸鱼图标就静止了。可以单击鲸鱼图标来管理 DfM。
3、安装docker-compose
docker-compose项目是docker官方的开源项目,负责实现对docker容器集群的快速编排。
docker-compose的工程配置文件默认为docker-compose.yml。可以通过环境变量COMPOSE_FILE -f 参数自定义配置文件,其自定义多个有依赖关系的服务及每个人服务运行的容器。
输入命令:
|
出现如下,代表已经可以正常安装了,直到安装成功
4、安装数据库
(1)使用docker方式安装mysql数据,如果有已安装好的mysql数据库可以忽略,但是需要注意mysql的版本是5.7
(2)安装命令如下:
-v: 数据挂载地址
-e: 环境参数,数据库密码
|
最终放在上面的路径中后显示如下:
(3)由于mysql默认不支持远程地址访问,需要手动修改参数,docker客户端已经启动后,进入容器命令:
|
(4)遇到的问题:
一开始没有弄明白上面的字符串,哪里来的,后来才知道上面一长串的字符串是在安装mysql,刚开始的时候自动出来的,如下,复制后执行以上命令
(5)修改访问权限,注意下面的密码要与前面设置的一致:
|
(6)提前创建需要用到的数据库sonic,避免后面程序启动失败
|
(7)遇到的问题:
上面执行的时候有的文档语言用的是这个:utf8_chinese_ci,一直报“ERROR 1273 (HY000): Unknown collation: 'utf8_chinese_ci',改成用上面命令中utf8_general_ci;的就不再报错了
5、前后端部署
(1)sonic项目经过不断迭代开发,功能也非常强大,为了考虑到性能、扩展性,也引入了Eureka、gateway等组件,所以部署也相对复杂一些。为了能快速上手部署,在sonic的官网推荐使用docker-compose部署前后端,只需要一行命令就可以完成部署。
(2)首先,下载最新版本的 zip 文件到任意目录。zip包下载地址如下:
|
解压zip,总共如下文件
无需改动docker-compose.yml文件,如下是docker-compose.yml的部分截图,可以看到已经编排好了容器的启动顺序,请勿修改容器顺序(仅仅查看,无需任何改动),否则会导致启动失败,进入对应的目录,
输入:cat docker-compose.yml,或者进入文件夹以文本编辑方式打开
(3)更改.env中的信息
进入sonic文件夹目录更更改.env中的信息(其实sonic文件夹有个隐藏的文件 env,可以把它给显示出来,怎么显示网上自行百度),需要注意是的ip地址需要改成本地ipv4地址,切勿使用127.0.0.1地址
输入:vim .env出现如下,进行编辑更改
(4)接下来最关键的一步,sonic-server-v2.0.5-2目录下执行以下指令:
|
docker-compose会先下载镜像到本地,使用的阿里云加速镜像,下载速度还是挺快的
到此,前后端部署完毕!,因Eureka心跳机制,刚启动完毕微服务间互相访问需要3~5分钟,请耐心等候。
(5)访问页面
等待5分钟后,打开浏览器访问: http://localhost:4000,或者自己的IP地址访问,如果能看到如下页面说明前后端部署正常,我们可以注册一个账号去登录。
6、agent部署
因为sonci本身的架构是分布式的,类似jenkins的master和slave方式。agent可以部署到不同的电脑上作为分布式节点,一个agent最多可以带50个移动设备。agent支持两个部署方式:
6-1、Docker部署
首先,下载最新的docker-compose.yml,参考注释修改里面的内容。(注意:里面配置的sonic版本一定要跟前面下载的sonici版本一致)
|
需要在docker-compose.yml文件中配置SONIC_SERVER和AGENT相关参数
另外就是需要替换为前端新增Agent生成的key,从部署好的前端界面【设备中心】的【Agent中心】新增Agent,记录Agent的Key
最后执行启动命令:
|
6-2、jar方式部署(强烈推荐)
(1)注意JDK的安装一定要是15才行,可以前往如下安装下
|
下载完成后,解压安装包
|
(2)接下来,需要下载安卓SDK设置到系统环境变量,命名为ANDROID_HOME。打开SDKManager,下载platform-tools。确保platform-tools目录存在,adb指令可用。将ANDROID_HOME、ANDROID_HOME/platform-tools添加到系统PATH中。
因为之前已经装过Android Studio了,直接打开Android Studio去里面安装SDK,查好目录,自己存放的位置
注意配置JAVA_HOME的环境变量
(3)选择 PC对应的平台zip 下载并解压到任意目录(注意下载的版本号一定要与前面server的一致)
|
解压后的mini、config、plugins文件夹与jar同级
赋予工作目录 所有权限:sudo chmod -R 777 sonic-agent-v2.0.5-macosx_arm64 修改config文件夹中 application-sonic-agent.yml 的配置信息,保存
(4)进入sonic目录执行启动命令:
|
如果在控制台看到server auth successful关键字说明连接server成功,把手机查到agent端电脑上,使用adb devices命令确认下是否连接成功。
此时在控制台如果看到手机设备online关键字,说明手机设备上线。
在前端的设备中心可以看到设备情况
点击马上使用可以看到如下界面,就可以操作使用了
至此本地搭建环境完成,可以开始我们的移动端自动化脚本编写