STF(Device Farmer) 多设备管理平台

github 地址:https://github.com/DeviceFarmer/stf

填坑 :由于 openstf 停止维护,不支持 Android 10,所以升级为 Device Farmer

openstf 支持的 Android 版本: Supports versions 2.3.3 (SDK level 10) to 9.0 (SDK level 28)

Device Farmer 支持的 Android 版本:Supports versions 2.3.3 (SDK level 10) to 10 (SDK level 29)

一、安装部署

#在Mac OS上,您可以使用homebrew安装大多数依赖项:
brew install rethinkdb graphicsmagick zeromq protobuf yasm pkg-config

#了解下自己的node版本和npm的版本
npm version

#解决好***问题,搞不定就用cnpm,安装之前先卸载为佳,因为npm bug挺多,会误判一些lib
#npm uninstall -g stf
#rm  -rf /usr/local/lib/node_modules/stf/
cnpm install -g @devicefarmer/stf

rethinkdb --http-port 8081 & 指定 port,防止和 Jenkins 等端口冲突
stf local --public-ip <your_internal_network_ip_here> &

ps -ef | grep stf/lib | awk '{print $2}' | xargs kill -9

二、使用

使用和配置文档:https://github.com/openstf/stf/wiki

rethinkdb 地址:http://localhost:8081/

stf 地址:http://100.84.84.225:7100/#!/devices

三、API

api 文档:https://github.com/DeviceFarmer/stf/blob/master/doc/API.md

token: 44afa160d27b47e8b3513ecabcbe923208ed469a5f644629b006cea9b98f7cbf

curl -H "Authorization: Bearer 44afa160d27b47e8b3513ecabcbe923208ed469a5f644629b006cea9b98f7cbf" http://100.84.86.70:7100/api/v1/devices

mac 安装 jq,让 json 格式化显示:brew install jq

curl -H "Authorization: Bearer 44afa160d27b47e8b3513ecabcbe923208ed469a5f644629b006cea9b98f7cbf" http://100.84.84.225:7100/api/v1/devices | jq .

至此:可以管理 Android 2.3.3~Android 10 的手机了

四、持续集成

1.在 stf 中生成 stf access token

2.jenkins 安装 stf 插件

3.配置 STF Access Token

4.配置 jenkins job

运行结果:

待办:https://juejin.cn/post/6985818094794965006
回头试一下 ios 是否可以运行起来


↙↙↙阅读原文可查看相关链接,并与作者交流