Open-STF的使用

可以分为三种情况:

1. 只有一个Master主机的情况,即只有一台装了STF和ADB的主机,连接了一些设备,通过访问这个主机来管理这些设备。

2. 一个Master主机+若干个SLAVE的情况,Master主机安装STF和ADB,SLAVE支持ADB,安装/未安装STF:

    2.1 SLVAE主机不支持STF

    2.2 SLAVE主机支持STF

一、只有一个Master主机的情况:

1. 安装后首先要开启DB服务,直接运行即可:

rethinkdb

rethinkdb服务启动

2. 启动STF服务:

如果只是简单的测试或者本地使用,直接运行 stf local即可

stf local

这样的话你直接在浏览器中输入:http://localhost:7100/#!/devices 即可管理所有的设备。但是你无法在非本机的浏览器通过http://10.1.137.158:7100/#!/devices 的方式去访问,会直接跳转成:http://localhost:7100/auth/mock/。

如果想要能够实现远程访问就需要运行:

~ stf local --public-ip 10.1.137.158

后面是本机的IP地址,这样相当于把你的IP地址设置为一个公开可访问的(局域网内)。

下图是我用手机浏览器访问的界面(局域网):

手机访问页面

二、一个Master主机+若干个SLAVE的情况

如果你需要管理的设备都比较集中,或者比较少,那么将这些设备都连接到这一个启用了STF服务的机器上,然后你通过浏览器来访问这个机器从而操作这些手机就可以了。接下来你的工作就只是想办法把这些设备都连接到这个机器上而已。

如果你的机器比较分散(公司的办公地点在北京和上海两个地方,都有设备需要管理)或者比较多,且希望能统一管理,就需要想更多的办法:

Master主机安装STF和ADB,SLAVE支持ADB,安装/未安装STF。

Master主机开启STF服务,SLAVE主机通过adb连接测试设备,SLAVE和Master主机之间建立连接,将所连接的测试设备桥接到Master主机上去,这样用户通过访问Master主机就可以访问所有的测试设备。测试设备具体所在的位置对于用户来说是透明的,都只是显示连接到了Master主机而已。

环境概况:

Linux 服务器,安装stf完整组件,支持android sdk,作为master节点。[IP:10.1.132.193]

MAC,安装stf(本例中并没有使用也没有启用),支持android sdk。[IP:10.1.137.158]

两台电脑网络互通。

Linux服务器自己连接的手机设备(WIFI连接):

Linux连接的手机

MAC连接的手机设备(USB连接):

MAC连接的手机

1、Mac(10.1.137.158)上启动 adb server 并对外暴露 5037 端口执行:

    adb -a -P 5037 fork-server server

    但是如果adb版本比较高的话,就会提示reply fd for adb server to client communication not specified.用如下命令替换:

    adb nodaemon server -a

2、在Linux服务器(10.1.132.193)上启动stf服务

    rethinkdb

    stf local --public-ip 10.1.132.193 --allow-remote

3、通过配置 adb host 的方式和 MAC 主机互连

    在Master机器(Linux:10.1.132.193)上执行:

stf provider --name CentOS7.4-wangjing-109 --min-port 7400 --max-port 7700 --connect-sub tcp://127.0.0.1:7114 --connect-push tcp://127.0.0.1:7116 --group-timeout 20000 --public-ip 10.1.132.193 --storage-url http://localhost:7100/ --adb-host 10.1.137.158 --adb-port 5037 --vnc-initial-size 600x800 --allow-remote

连接成功后,在SLAVE机器(Mac:10.1.137.158)上展示如下:

SLAVE机器连接后的展示

在Master机器(Linux:10.1.132.193)上展示如下:

MASTER机器连接后的展示

红框部分就是连接到了SLAVE所连接的设备(目前是offline状态)。

从别的设备浏览器上访问的情况如下:

访问STF系统界面

可以看到显示的Location是Master主机的名称,这时从SLAVE机器(Mac:10.1.137.158)上去adb devices也是没有了e115ac6d这个设备了。它的作用就是将所连接的设备通过自己这个桥梁连接到Master机器(Linux:10.1.132.193)上。


补充说明(上面没有SLAVE没有开启STF,相当于是没有装STF的情况。装有STF的还没有实践,先放在下面作参考)

上述操作行为,仅针对其它操作系统上没有安装stf,所以采用 adb host 的方式连上对应操作系统上的安卓设备,假如某此系统服务上已安装stf相应组件,

如:10.16.6.63_Liunx主机,安装了 stf,想将Liunx主机的安卓设备连接到主Master(MAC:172.17.9.49)平台上。

通过配置新的 provider 连上Liunx 主机上的设备:

在Liunx主机上启动 stf provider 【差异在于,不需要增加--adb-host】

stf provider --name mikezhoudeMac-mini.local --min-port 7400 --max-port 7700 --connect-sub tcp://172.17.9.49:7114 --connect-push tcp://172.17.9.49:7116 --group-timeout 20000 --public-ip 172.17.9.49 --storage-url http://172.17.9.49:7100/ --vnc-initial-size 600x800 --allow-remote







nohup stf local --public-ip 10.1.132.193 --allow-remote &


主要参考:

STF [STF 手机设备管理平台] 连接其它操作系统上的安卓设备实操介绍(该文的作者写了好几篇STF相关的文章,可以一并查看 https://testerhome.com/mikezhou)

stf 连接各操作系统上安卓设备的操作方法分享

六、使用

1. 远程控制

搭建好环境之后,这就是一台连接着N台Android手机的服务器了(这个服务器可能是放在你们公司某个神秘的地方,一般称为无线实验室),在上图的手机控制界面可以看到:

这时候,在你自己的电脑上(客户端),通过命令行输入adb connect 192.168.1.102:7401,就可以将自己的电脑连接到远程服务器上的手机真机,就好像手机是连接在自己电脑上一样,你可以在Android Studio中Android Device Monitor上看到手机硬件,可以直接打断点debug。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容