一、atx-server2介绍
Android和IOS设备集中管理平台
项目地址:https://github.com/openatx/atxserver2
其他参考:atx-server 安卓集群管理 安装运行及自动化的实践
二、手动部署
1. 编译安装Python3.6.1
2. 安装RethinkDB
1 | cat << EOF > /etc/yum.repos.d/rethinkdb.repo |
1 | yum install -y rethinkdb |
supervisor管理启动
1 | [program:rethinkdb] |
3. 安装并启动atxserver2
1 | git clone https://github.com/garywu520/atxserver2.git |
1 | 安装依赖 |
启动atxserver2
1 | python3 main.py --port 8008 --auth simple |
参数含义:
–auth simple —> 默认是一个非常simple的认证,输入邮箱就可以
–port 8008 —> 指定atxserver2的访问端口
rethinkdb数据库 —> 默认连接的地址: localhost:28015
1
2
3
4
5
6
7如果需要修改数据库,使用linux的环境变量实现。
cat /etc/profile 添加如下内容:
export RDB_HOST=localhost
export RDB_PORT=28015
export RDB_USER=admin
export RDB_PASSWD=
export RDB_DBNAME=atxserver2supervisor启动管理
1 | [program:atxserver2] |
4. 浏览器访问
http://192.168.0.13:8008 , 随意输入一个邮箱地址即完成验证。
注:默认第一个登录的用户会成为管理员
管理员有哪些特权呢?
- 可以释放他人正在使用的设备。(按住ALT,然后双击
正在使用
按钮) - 使用他人的身份占用设备(参考API文档)
- 获取设备的source信息(参考API文档)
- 将他人设置为管理员,导航栏可以看到
后台管理
链接 - 有权修改
资产编号
字段
5. Android设备接入
需要借助另一个项目:atxserver2-android-provider
部署Provider
Provider可以通过
adb track-devices
自动发现已经接入的设备,当手机通过USB接入到电脑上时,会自动给手机安装minicap
,minitouch
,atx-agent
,app-uiautomator-[test].apk
,whatsinput-apk
1 | curl -sL https://rpm.nodesource.com/setup_8.x | bash - |
1 | git clone https://github.com/openatx/atxserver2-android-provider |
安装adb环境
1 | wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip |
cat /etc/profile
1 | export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL |
安装配置Jdk
1 | yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel |
1 | 下载platform--https://developer.android.google.cn/studio/releases/platform-tools.html |
supervisor管理启动
1 | [program:atxserver2_provider] |
参数详解:
–port : 本地监听的端口号
–server: atxserver2的地址
–allow-remote:允许远程设备,默认会忽略类似10.0.0.1:5555
的设备
–owner: 邮箱地址或用户所在Group名,如果设置了,默认连接的设备都为私有设备,只有owner或管理员账号能看到
最终的ProviderURL: http://192.168.0.13:8001
Provider服务可以通过adb track-devices
自动发现已经接入的设备,当手机接入到电脑上时,会自动给手机安装minicap
, minitouch
, atx-agent
, app-uiautomator-[test].apk
, whatsinput-apk
接入的设备需要配置好开发者选项
, 不同设备的设置方案放到了该项目的Issue中, tag: device-settings
如果没有该机型,可以自助添加
后言
项目整体运行良好,支持IOS(未测试)和Android设备(已测试)连接。而结合自己的测试场景:游戏分为各个地区的版本,每个版本需要连接不同的WiFi(实际是不同的代理),不能做到使用的WIFI统一(WIFI连接ATXServer2我没测试成功,USB连接稳定)。另外,apk安装暂且只能上传apk文件,有些测试包需要额外导入obb文件,用起来很难受了,需要尝试使用adb push命令来完成。使用成本反而更大了。
总之,感谢作者的努力,项目初衷不错,能满足一定的使用场景,期待后期功能更加完善,再考虑使用。
参考:
- 本文作者: GaryWu
- 本文链接: https://garywu520.github.io/2020/11/09/Android-IOS设备测试集中管理平台ATXServer2/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!