一、ATX的简介

ATX平台是一个可以远程链接Android设备和iOS设备的管理平台,通过这个平台可以实现远程调用设备。主要技术栈是:python3+Nodejs+RethinkDB,作者是阿里的大牛:codeskyblue
项目地址:https://github.com/openatx/atxserver2.git
平台框架图:
atx-frame.png

二、搭建环境的准备

只链接Android设备的话,可以不使用Mac。需要链接iOS设备的话,必须使用Mac环境来配置,因为iOS设备链接需要WDA,只能在Mac平台上运行。这里所有操作都是在macOS 10.15.3系统上操作的。
1.由于平台技术栈是python3+Nodejs+RethinkDB,所以需要安装python3、Nodejs、rethinkDB。打开终端使用Homebrew直接安装:

  1. # 安装python3
  2. brew install python3
  3. # 安装node
  4. brew install node
  5. # 安装rethinkDB
  6. brew install rethinkdb

安装完成后,可用以下命令检查是否安装成功,输出版本号即安装成功

  1. # 检查python3
  2. python3 --version
  3. # 检查node
  4. node -v
  5. # 检查rethinkDB
  6. rethinkdb -v
  1. 从git上拉取ATX代码到本地

    三、搭建ATX设备管理平台

    部署ATX平台有两种方式,通过docker部署或者通过源码部署(推荐docker部署,源码部署方式没有实践过,这里贴上源码给的部署方法)

  2. docker部署

a. 先安装docker(已安装过的可以跳过这一步)
1)通过homebrew直接安装:

  1. brew cask install docker

2) 通过官网下载手动安装,也可以直接点击这里下载:StableEdge版本。下载后的安装操作与普通软件安装一样
b. 安装后点击图标运行docker,右上角出现小象的图标就表示docker已经在运行中了。
c. 打开终端,进入ATX的项目文件夹下面,使用docker运行平台

  1. # 进入到ATX项目下
  2. cd /Users/jessietian/Code/UITest/atxserver2
  3. # 使用docker命令直接运行平台
  4. docker-compose up

运行结果如下:
image.png

  1. 通过源码部署
    1. 启动rethinkdb,直接在终端中输入:rethinkdb

image.png

b. 切换到ATX的目录下,使用:pip3 install -r requirements.txt 安装依赖
c. 安装成功后,使用以下命令启动服务

  1. # 1.默认方式启动,使用默认的登录方式和默认端口
  2. python3 main.py
  3. # 2.设置监听端口
  4. python3 main.py --port 4000 # 默认监听4000

四、打开设备管理平台

在浏览器中输入http://localhost:4000/,登录后就可以看到设备管理列表。如下,因为还没有接入设备,所以设备为空。
image.png

五、将设备连接到管理平台

  1. Android设备的连接: 基于ATX的Android设备链接
  2. iOS设备的连接:基于ATX的iOS设备链接
  3. 将端口映射到外网供外网远程调用设备:Mac映射本地端口到外网
  4. 辅助写测试脚本的工具:ATX的辅助工具

六、基于ATX平台的UI自动化测试(Python3)

  1. 使用WDA对iOS设备的元素的操作:在WDA下使用Python对iOS元素的操作

七、搭建平台过程中遇到的坑

  1. Mac自带python,但版本是2.7的,所以需要切换默认使用版本为python3.7,切换方法见:Mac下切换默认的python版本。