mac下搭建openstf移动设备批量管理环境

mac下搭建openstf环境

STF是WEB 端批量移动设备管理控制工具,全名Smartphone Test Farm,可以提供远程真机使用调试的功能,已有的云真机平台大多通过STF实现,目前仅支持Android设备,项目地址:https://openstf.github.io/

安装过程

1.安装node.js

brew install node
  1. 安装Android-SDK和java
    注意设置环境变量,建议直接安装Android Studio
  2. 安装 rethinkdb
brew install rethinkdb
  1. 安装 graphicsmagick
brew install graphicsmagick
  1. 安装 zeromq
brew install zeromq
  1. 安装protobuf
brew install protobuf
  1. 安装pkg-config
brew install pkg-config
  1. 安装yasm
brew install yasm
  1. 安装bower
    安装前可先将npm 配置项registry修改为淘宝镜像,外国镜像下载较慢可能出问题
npm config set registry https://registry.npm.taobao.org

然后安装bower

npm install bower -g

10.安装STF

npm install -g stf

11.全部装完之后检查环境配置

stf doctor

(不报错即可,报错按照错误提示解决)

启动服务

1.启动rethinkDB

rethinkdb
  1. 启动stf服务端
    本地启动:
stf local

指定ip和允许远程连接启动:

stf local --public-ip 10.10.8.18 --allow-remote

启动后在浏览器中输入对应地址http://10.10.8.18:7100/,登录页面的用户名和邮箱随便输入,启动后页面如下:

QQ20191129-174312.png

安装中遇到的问题

Unexpected token ...
2019-11-29T08:15:59.988Z FTL/cli:local 82786 [*] Child process had an error ExitError: Exit code "1"
    at ChildProcess. (/usr/local/Cellar/node/13.2.0/lib/node_modules/stf/lib/util/procutil.js:49:23)
    at emitTwo (events.js:125:13)
    at ChildProcess.emit (events.js:213:7)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:197:12)

解决方法:
node.js通过n模块安装多个版本,安装完后切换到8.11版本

npm install -g n  //安装n模块
n 8.11  //安装node.js8.11版本(支持8.x版本,但是作者开始用8.0一直报以上错误)
n  //查看已安装版本,可以上下键切换,回车选择
Error: Could not locate the bindings file. Tried:
/usr/local/lib/node_modules/stf/node_modules/zmq/build/zmq.node
/usr/local/lib/node_modules/stf/node_modules/zmq/build/Debug/zmq.node
/usr/local/lib/node_modules/stf/node_modules/zmq/build/Release/zmq.node
/usr/local/lib/node_modules/stf/node_modules/zmq/out/Debug/zmq.node
/usr/local/lib/node_modules/stf/node_modules/zmq/Debug/zmq.node
/usr/local/lib/node_modules/stf/node_modules/zmq/out/Release/zmq.node
/usr/local/lib/node_modules/stf/node_modules/zmq/Release/zmq.node
/usr/local/lib/node_modules/stf/node_modules/zmq/build/default/zmq.node
/usr/local/lib/node_modules/stf/node_modules/zmq/compiled/6.10.1/darwin/x64/zmq.nodeat bindings

解决方法:
卸载stf、zeromq,重新安装重新安装zeromq、stf,最好不要用sudo,用sudo可能会出问题,如果遇到权限访问问题,可以通过chmod 777修改文件夹权限

sudo chmod 777 -R 文件夹路径
WARN EACCES user "root" does not have permission to access the dev dir

解决方法:
没有文件夹的访问权限,可以通过chmod 777修改文件夹权限

sudo chmod 777 -R 文件夹路径
xcode-select: error: tool 'xcodebuild' requires Xcode, 
but active developer directory '/Library/Developer/CommandLineTools' 
is a command line tools instance

解决方法:
xcodebuild的路径不正确,将路径切换到Xcode的目录下:

sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/
  1. npm报错
error code EINTEGRITY

解决方法:
升级npm

npm i -g npm

删除package-lock.json
删除缓存目录下的所有数据

npm cache clean –force

验证缓存数据的有效性和完整性,清理垃圾数据

npm cache verify

大家遇到其他问题可以在文章下面留言

你可能感兴趣的:(mac下搭建openstf移动设备批量管理环境)