OpenStf是一个能够经过网页管理和使用移动设备的平台,支持远程调试、远程使用手机浏览器打开连接、远程执行shell脚本、远程拖拽安装App、远程查看日志、远程截屏等功能。 docker
MAC上安装建议使用npm的方式安装,这种方式很简单,惟一的要求就是Node版本必定要是8的版本,我采用的是8.9.3版本。若是你的电脑中已经有Node其余版本,则建议使用NVM切换版本。shell
nvm use 8.9.3
复制代码
npm install -g stf
复制代码
brew install rethinkdb graphicsmagick zeromq protobuf yasm pkg-config
复制代码
. ~/.nvm/nvm.sh nvm use 8.9.3 rethinkdb & stf local --public-ip 192.168.27.180 复制代码
上面的脚本里192.168.27.180是我本机的IP,则我对外暴露个人IP地址,其余机器则能够直接经过http://192.168.27.180:7100访问STF平台。 平台启动完成,直接把设备插入电脑USB及能够自动识别。npm
接入Ldap,只须要在STF启动脚本加入Ldap参数便可。浏览器
#!/bin/sh . ~/.nvm/nvm.sh nvm use 8.9.3 rethinkdb & stf local --public-ip 192.168.27.180 --auth-type ldap \ --auth-options '["--ldap-url","ldap://192.168.xx.xxx","--ldap-bind-dn","cn=ldapuser,cn=xxxx,dc=xxxxx,dc=xxxx","--ldap-search-dn","cn=xxx,dc=xxx,dc=xxx","--ldap-bind-credentials","xxxxxx","--ldap-search-class","user","--ldap-search-field","mail"]' 复制代码
具体Ldap参数定义参照:testerhome.com/topics/3906bash
Linux上则能够直接经过Docker的方式安装markdown
$ docker pull openstf/stf:latest 拉取STF镜像
$ docker pull sorccu/adb:latest 拉取adb 镜像
$ docker pull rethinkdb:latest 拉取rethinkdb 镜像
复制代码
$ docker run -d --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb --bind all --cache-size 8192 --http-port 8090 复制代码
$ docker run -d --name adbd --privileged -v /dev/bus/usb:/dev/bus/usb --net host sorccu/adb:latest 复制代码
$ docker run -d --name stf --net host openstf/stf stf local --public-ip 192.168.27.200 复制代码
全部容器启动完成以后,便可经过 http://192.168.27.200:7100访问平台,插上设备便可使用访问。tcp
STF分布式有2种方案,方案以下:分布式
(1)开启ADB,并对外暴露5037端口ide
adb nodaemon server -a -P 5037 复制代码
若是出现adb端口被占用的状况,则经过命令查找5037端口占用进程并杀死进程便可。oop
netstat -aon|findstr 5037
复制代码
taskkill /pid 5008 /f
复制代码
(2)到MAC Master主节点运行stf provider命令链接Window子节点
Window的IP为:192.168.27.247,MAC机器IP为:192.168.27.180
stf provider --name GHL.local --min-port 7400 --max-port 7700 --connect-sub tcp://127.0.0.1:7114 \
--connect-push tcp://127.0.0.1:7116 --group-timeout 900 --public-ip 192.168.27.180 \
--storage-url http://localhost:7100/ \
--adb-host 192.168.27.247 --adb-port 5037 \
--vnc-initial-size 600x800 --mute-master never --allow-remote
复制代码
上面这么多参数,能够查看Master主节点STF启动日志便可查到,这里主要就是经过新增
--adb-host 192.168.27.247 --adb-port 5037 \
复制代码
来链接Window机器。
Linux上部署一个STF服务并运行远程访问API,Linux的IP为:192.168.27.200,MAC机器IP为:192.168.27.180 那么咱们只需在Linux上运行stf provider链接Master节点便可,命令以下:
stf provider --name centerOs.local --min-port 7400 --max-port 7700 \
--connect-sub tcp://192.168.27.180:7114 --connect-push tcp://192.168.27.180:7116 \
--group-timeout 20000 --public-ip 192.168.27.180 --storage-url http://192.168.27.180:7100/ \
--vnc-initial-size 600x800 --allow-remote
复制代码
这里能够看到无需输入adb远程端口,此时Linux节点上插入机器,Master节点就能够实时的查看到Linux上挂载的机器。而无需在Master节点从新输入stf provider命令。