Mac系统下STF的环境搭建和运行
本文参考以下文章整理:
MAC 下 STF 的环境搭建和运行
一、 前言
STF,全称是Smartphone Test Farm,WEB 端批量移动设备管理控制工具,就是可以用浏览器来批量控制你的移动设备,目前只支持Android设备。
二、环境搭建
1. 安装xcode和xcode 命令行工具
(安装Macport需要)
- Xcode:直接在
App Store下载安装 - Xcode Command Line Tools:在terminal中输入以下命令,然后在弹出的安装步骤中猛点下一步自动安装。
1 |
xcode-select --install |
2. 安装Macport,后面需要用到port
参考:http://www.ccvita.com/434.html
1.1 直接到官网下载安装包进行安装
http://www.macports.org/install.php
1.2 添加环境变量
将/opt/local/bin和/opt/local/sbin添加到$PATH搜索路径中:
1 |
vi ~/.bash_profile |
在文件中加入:
1 |
export PATH=/opt/local/bin:$PATH |
更新环境变量:
1 |
source ~/.bash_profile |
1.3 更新ports tree和MacPorts版本
强烈推荐第一次运行的时候使用-v参数,显示详细的更新过程。
1 |
sudo port -v selfupdate |
3. linux的基本包安装
Mac之前有类似环境忽略。
4. SDK环境安装
这里不做详细说明估计都有
- Java
- android 留意安装完成后配置环境变量
5. nodejs安装
1 |
node -v |
6. 安装bower
1 |
sudo npm install bower -g |
验证:
1 |
bower -v |
7. 安装rethinkdb
(这里建议通过pgk安装)
1 |
rethinkdb -v |
8. 安装graphicsmagick
1 |
sudo port install graphicsmagick |
9. 安装libsodium
(zeromq的依赖)
1 |
sudo port install libsodium |
10. 安装zeromp
1 |
sudo port install zmq |
11. 安装protobuf
1 |
sudo port install protobuf-cpp |
- 不用理会环境变量
12. 安装pkg-config
1 |
sudo port install pkgconfig |
13. 安装stf
1 |
sudo npm install -g stf |
- 时间应该是看网速,原文中备注会很长,但是我这边很快就安装完成了。
三、运行
1. 运行stf
1.1 启动rethinkdb
在终端中输入以下命令,这时访问浏览器就可以看到rethinkdb的管理界面: http://localhost:8080/
1 |
rethinkdb |
1.2 启动stf
(需新建终端)
1 |
stf local --public-ip 本机IP --allow-remote |
如:
1 |
stf local --public-ip 192.168.1.102 --allow-remote |
其中--allow-remote表示允许远程访问。
注:官方文档中给的例子实际测试无法访问:stf local
2. 运行客户端
- 浏览器输入
http://localhost:7100/,只要填入符合规则的登录信息即可: 
- 成功,可以实现远程操作啦!
五、其它系统
1. Linux类系统
Linux类的操作系统,如Ubuntu,可参考WEB 端批量移动设备管理控制工具 STF 的环境搭建和运行进行搭建。
2. Windows
Windows下直接安装据说相当麻烦,有很多坑,比较常见的做法是使用虚拟机(如docker)虚拟出一个Linux系统,然后参考上一步的搭建方法进行搭建。
六、使用
1. 远程控制
搭建好环境之后,这就是一台连接着N台Android手机的服务器了(这个服务器可能是放在你们公司某个神秘的地方,一般称为无线实验室),在上图的手机控制界面可以看到:
这时候,在你自己的电脑上(客户端),通过命令行输入adb connect 192.168.1.102:7401,就可以将自己的电脑连接到远程服务器上的手机真机,就好像手机是连接在自己电脑上一样,你可以在Android Studio中Android Device Monitor上看到手机硬件,可以直接打断点debug。
Mac系统下STF的环境搭建和运行的更多相关文章
- Mac系统下React Native环境搭建
这里记录一下在Mac系统下搭建React Native开发环境的过程: 1. 安装HomeBrew: /usr/bin/ruby -e "$(curl -fsSL https://raw.g ...
- MAC 下 STF 的环境搭建和运行
STF --WEB 端批量移动设备管理控制工具 安装各种包 (首先安装Macport,因为后面需要用到port:http://www.ccvita.com/434.html) linux的基本包安装, ...
- Windows系统下Android开发环境搭建
“工具善其事,必先利其器”.要想学好Android,搭建好Android开发环境是一个良好的开端. Windows系统下Android开发环境主要有4个大的步骤.分别是: 1.JDK的安装 2.ecl ...
- 一寸宕机一寸血,十万容器十万兵|Win10/Mac系统下基于Kubernetes(k8s)搭建Gunicorn+Flask高可用Web集群
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_185 2021年,君不言容器技术则已,欲言容器则必称Docker,毫无疑问,它是当今最流行的容器技术之一,但是当我们面对海量的镜像 ...
- linux系统下深度学习环境搭建和使用
作为一个AI工程师,对Linux的一些技能的掌握也能从一定层面反应工程师的资深水平. 要求1:基于SSH的远程访问(本篇文章) 能用一台笔记本电脑,远程登陆一台linux服务器 能随时使用笔记本电脑启 ...
- Ubuntu系统下arm-linux-gcc交叉编译环境搭建过程
搭建所需环境Linux版本:Ubuntu 14.10 交叉编译器版本:arm-linux-gcc-4.4.3资源链接 何为交叉编译环境搭建交叉编译环境,即安装.配置交叉编译工具链.在Ubuntu环境下 ...
- 基于VGGnet的人脸识别系统-ubuntu 系统下的Caffe环境搭建(CPU)
对于caffe的系统一般使用linux系统,当然也有windows版本的caffe,不过如果你一开始使用了windows下面的caffe,后面学习的过程中,会经常遇到各种错误,网上下载的一些源码.模型 ...
- Windows系统下JAVA开发环境搭建
首先我们需要下载JDK(JAVA Development Kit),JDK是整个java开发的核心,它包含了JAVA的运行环境,JAVA工具和JAVA基础的类库. 下载地址:http://www.or ...
- WEB 端批量移动设备管理控制工具 STF 的环境搭建和运行
最近项目涉及到较多设备批量管理的需求,发现一工具,可以批量对大量设备进行WEB端管理,工具主页:https://openstf.github.io/工具名STF(Smartphone Test Far ...
随机推荐
- 设计模式的征途—8.桥接(Bridge)模式
在现实生活中,我们常常会用到两种或多种类型的笔,比如毛笔和蜡笔.假设我们需要大.中.小三种类型的画笔来绘制12中不同的颜色,如果我们使用蜡笔,需要准备3*12=36支.但如果使用毛笔的话,只需要提供3 ...
- shell网络客户端
需要把线上的access日志发送到另一个程序接收 开始想着用python实现,虽然python也有实现类似tail -F的方式,但太麻烦,而且效率也有折扣 偶然发现了shell可以实现网络client ...
- 【Windows 10 应用开发】使用快捷访问键
UWP 虽然主要面向触控操作,但 Windows 设备是万能工具,不用手指不用笔的时候,也可能会接上键盘耍耍.因此,给应用界面上的一些元素弄个快捷访问键也挺不错的.为了使用 Windows 上的各类应 ...
- hadoop伪分布式集群搭建与安装(ubuntu系统)
1:Vmware虚拟软件里面安装好Ubuntu操作系统之后使用ifconfig命令查看一下ip; 2:使用Xsheel软件远程链接自己的虚拟机,方便操作.输入自己ubuntu操作系统的账号密码之后就链 ...
- 使用hashCode()和equals()方法 - Java
在这篇文章中,我将指出我对hashCode()和equals()方法的理解.我将讨论它们的默认实现以及如何正确地覆盖它们.我还将使用Apache Commons包中的实用工具类来实现这些方法. has ...
- Java NIO学习笔记七 Non-blocking Server
Java NIO:Non-blocking Server 即使你了解了Java NIO非阻塞功能的工作(怎么样Selector,Channel, Buffer等等),设计一个无阻塞服务器仍然很难.非阻 ...
- fdisk 非交互式创建 分区
一. key 非交互式创建分区, 与 交互式创建分区区别不大. 使用 fdisk 的默认选项, 使用空行即可, 不用回车. 创建 主分区 和 扩展分区时, 需要注意 分区号 二. 创建主分区 fdis ...
- ReactiveCocoa源码解析(三) Signal代码的基本实现
上篇博客我们详细的聊了ReactiveSwift源码中的Bag容器,详情请参见<ReactiveSwift源码解析之Bag容器>.本篇博客我们就来聊一下信号量,也就是Signal的的几种状 ...
- java自带uuid生成
java自带uuid生成UUID.randomUUID().toString()
- jquery判断按钮是否被选中了
<script type="text/javascript"> function genjin_view2(elm){ if($(elm).attr("che ...