基于STF/ATXServer2 移动设备管理平台的搭建( 三 )


基于STF/ATXServer2 移动设备管理平台的搭建

文章插图
 
整体项目主要包括四部分:
  • rethinkdb: 一个开源的轻量级的数据库 , 是用来存储数据的 。rethinkdb官网地址
  • atxserver2 :这一部分主要负责处理数据 , 显示与用户的前端交互等等 , 所以单独运行atxserver2也可以看到效果 , 当运行起来以候访问: IP:4000 就可以看到web界面 。
  • atxserver2-android-provider: 这一部分是接入安卓设备必须启动的项目 , 主要负责安卓设备和平台的交互工作 , 要想接入安卓设备必须启动此项目 。
  • atxserver2-ios-provider: 这一部分是接入IOS设备必须启动的项目 , 主要负责IOS设备和平台的交互工作 , 同样的要想接入IOS设备必须启动此项目 。(注意需要mac电脑)
项目结构:
|-- static  静态目录|-- temlates  前端界面|-- web  网页代码      |-- urls.py 路由整合文件      |-- settings.py  配置文件      |-- database.py  数据库操作相关      |-- utils.py  常用配置      |--views  每个界面的逻辑        |--slave.py  与atxslave通信用        |--devices.py  设备相关路由        |--base.py  基于ReguestHandler的基类还有其他一些文件夹:
  • scripts文件夹: 主要放着一些用于调试开发的工具类等 , 比如想调试安卓项目可以单独运行fake_android_provider.py 与atxserver2-android-provider , 并且其中的参数要改一些,一般不用太关注这个文件夹 。
  • examples文件夹 : 存放着一个自动化的Demo , 采用的自动化框架是uiautomator2 , 设备占用接口参考了openstf的API 。
所有的接口采用token认证 , 每个请求在 Header中增加 Authorization: Bearer xxxxx-token-xxxx , 这个token值可以在个人的用户信息界面获取到 , 也存储在rethinkdb里; 接口都是通过web请求调用 , 可以用 “httpie” 这个工具或者直接用python的 request 方法调用 。
2.4 环境搭建(这里介绍手动部署方式)(1)安装运行rethinkdb数据库
  • rethinkdb下载安装地址 https://rethinkdb.com/docs/install
  • 最简单的方式 , 跟STF搭建方法一样 , 拉取docker镜像文件 , 先启动一个rethinkdb数据库 , 可返回上面查看步骤 。
(2)克隆代码到本地
  • 先将代码clone到本地
git clone https://github.com/openatx/atxserver2.git
  • 安装依赖 , 到根目录执行
pip3 install -r requirements.txt(3)启动
  • 启动atxserver服务 , 进入atx2所在目录并执行
python3 main.py
  • 设置监听端口
python3 main.py --port 4000  # 默认监听的就是这个地址
基于STF/ATXServer2 移动设备管理平台的搭建

文章插图
 
启动之后 , 局域网浏览器打开:http://宿主机IP地址:4000 ,  完成认证之后就可以顺利的看到设备列表页了 。不过目前还是空的 , 什么都没有 。
基于STF/ATXServer2 移动设备管理平台的搭建

文章插图
 
(4)Android设备接入
接下来 , 进行安卓设备接入 。这时需要用到另外一个项目 atxserver2-android-provider 这个项目运行需要Python3.6+和NodeJS(官网强调node必须使用node8);
  • 先将代码clone到本地 , 我是clone到了同局域网windows设备上 , 考虑可以连接移动设备 。
git clone https://github.com/openatx/atxserver2-android-provider.git
  • 安装依赖 , 到atxserver2-android-provider根目录执行
pip3 install -r requirements.txt
  • 检查移动设备连接
adb devices
  • 启动Provider服务连接宿主机 , 进入到atxserver2-android-provider根目录执行
python main.py --server 宿主机IP地址:4000  Provider可以通过adb track-devices自动发现已经接入的设备 , 当手机接入到电脑上时 , 会自动给手机安装minicap , minitouch , atx-agent , app-uiautomator-[test].apk , whatsinput-apk 。


推荐阅读