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
常见的坑
ERR! OMG EACCES: permission denied, mkdir '/Users/shiyuyu/.cmake-js/node-x64/v8.16.0'
ERR! OMG EACCES: permission denied, mkdir '/Users/shiyuyu/.cmake-js/node-x64/v8.16.0'
启动
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 文档: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 是否可以运行起来