一、ATX的简介
ATX平台是一个可以远程链接Android设备和iOS设备的管理平台,通过这个平台可以实现远程调用设备。主要技术栈是:python3+Nodejs+RethinkDB,作者是阿里的大牛:codeskyblue。
项目地址:https://github.com/openatx/atxserver2.git
平台框架图:
二、搭建环境的准备
只链接Android设备的话,可以不使用Mac。需要链接iOS设备的话,必须使用Mac环境来配置,因为iOS设备链接需要WDA,只能在Mac平台上运行。这里所有操作都是在macOS 10.15.3系统上操作的。
1.由于平台技术栈是python3+Nodejs+RethinkDB,所以需要安装python3、Nodejs、rethinkDB。打开终端使用Homebrew直接安装:
# 安装python3
brew install python3
# 安装node
brew install node
# 安装rethinkDB
brew install rethinkdb
安装完成后,可用以下命令检查是否安装成功,输出版本号即安装成功
# 检查python3
python3 --version
# 检查node
node -v
# 检查rethinkDB
rethinkdb -v
a. 先安装docker(已安装过的可以跳过这一步)
1)通过homebrew直接安装:
brew cask install docker
2) 通过官网下载手动安装,也可以直接点击这里下载:Stable 或 Edge版本。下载后的安装操作与普通软件安装一样
b. 安装后点击图标运行docker,右上角出现小象的图标就表示docker已经在运行中了。
c. 打开终端,进入ATX的项目文件夹下面,使用docker运行平台
# 进入到ATX项目下
cd /Users/jessietian/Code/UITest/atxserver2
# 使用docker命令直接运行平台
docker-compose up
运行结果如下:
- 通过源码部署
- 启动rethinkdb,直接在终端中输入:rethinkdb
b. 切换到ATX的目录下,使用:pip3 install -r requirements.txt 安装依赖
c. 安装成功后,使用以下命令启动服务
# 1.默认方式启动,使用默认的登录方式和默认端口
python3 main.py
# 2.设置监听端口
python3 main.py --port 4000 # 默认监听4000
四、打开设备管理平台
在浏览器中输入http://localhost:4000/,登录后就可以看到设备管理列表。如下,因为还没有接入设备,所以设备为空。
五、将设备连接到管理平台
- Android设备的连接: 基于ATX的Android设备链接
- iOS设备的连接:基于ATX的iOS设备链接
- 将端口映射到外网供外网远程调用设备:Mac映射本地端口到外网
- 辅助写测试脚本的工具:ATX的辅助工具
六、基于ATX平台的UI自动化测试(Python3)
- 使用WDA对iOS设备的元素的操作:在WDA下使用Python对iOS元素的操作
七、搭建平台过程中遇到的坑
- Mac自带python,但版本是2.7的,所以需要切换默认使用版本为python3.7,切换方法见:Mac下切换默认的python版本。