重要:node version需要8.x.x

介绍

stf 全称 Smartphone Test Farm ,一款WEB 端移动设备批量管理工具(Remote control all your Smartphone devices),目前仅支持android设备,仅支持在mac和linux上搭建,暂时没在论坛、网站等看到有人在windows上搭建过。关于stf更多介绍,可以参考官方网址

环境准备

如果实在centos下搭建,强烈建议使用centos7!!!

一开始我是在centos6.4上搭建的,后来配置好了java环境后,在配置adb环境时就遇到各种问题,搞得很头大,请教了运维小伙伴有些问题还是未能解决,相关依赖关系太复杂,后来运维小伙伴也建议还是换centos7比较好,遂重新换了centos7,前前后后大概5天时间,终于搭建好了stf环境,主界面如下(暂时没有添加设备):

auth.png
devices.png

相关依赖下载安装

1.基本命令安装

安装wget、zip等命令,后面有需要

yum install wget
yum install -y unzip zip

2.java环境配置

首先下载jdk

cd /usr/local
mkdir java
cd java
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.rpm"
rpm -ivh jdk-8u151-linux-x64.rpm

配置环境变量

 vi /etc/profile

在文件中增加如下内容:

export JAVA_HOME=/usr/java/jdk1.8.0_151
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

即:

image.png

验证环境是否ok:

java -version
java.png

3.android SDK环境配置

首先下载SDK

cd /usr/local
mkdir android
cd android
wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip
unzip sdk-tools-linux-3859397.zip

配置环境变量

vi /etc/profile

在文件中增加如下内容:

export PATH=$PATH:/usr/local/android/tools/bin

然后执行

source profile

查看已安装信息

sdkmanager --list

结果如下:

Installed packages:
Path | Version | Description | Location
------- | ------- | ------- | -------
tools | 26.0.1 | Android SDK Tools 26.0.1 | tools/

安装platform-tools

sdkmanager "platform-tools"

配置环境变量

vi /etc/profile

在文件中增加如下内容:

export PATH=$PATH:/usr/local/android/platform-tools

即:

adb.png

执行

source profile
sdkmanager --list

结果如下:

list.png

验证环境是否ok:

adb --version
android.png

4.node安装

cd /usr/local
mkdir node
cd node
wget https://nodejs.org/download/release/v9.0.0/node-v9.0.0-linux-x64.tar.gz
tar xvf node-v9.0.0-linux-x64.tar.gz
ln -s /usr/local/node/node-v9.0.0-linux-x64/bin/node /usr/local/bin/node
ln -s /usr/local/node/node-v9.0.0-linux-x64/bin/npm /usr/local/bin/npm

检查环境

node -v
npm -v
node.png

5.rethinkdb安装

执行:

cd /opt/dong       -----即在opt新建一个目录用来用来其他依赖
wget http://download.rethinkdb.com/centos/7/`uname -m`/rethinkdb.repo -O /etc/yum.repos.d/rethinkdb.repo
yum install rethinkdb

检查环境是否ok:

rethinkdb -v
rethinkdb .png

6.GraphicsMagick安装

执行:

cd /opt/dong
wget https://iweb.dl.sourceforge.net/project/graphicsmagick/graphicsmagick/1.3.26/GraphicsMagick-1.3.26.tar.gz
tar xvf GraphicsMagick-1.3.26.tar.gz
cd GraphicsMagick-1.3.26
./configure
make
make install

验证环境是否ok:

gm
gm.png

7.yasm安装

执行:

cd /opt/dong
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make
make install

验证环境是否ok:

yasm --version
yasm.png

8.libsodium安装

执行:

cd /opt/dong
wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.15.tar.gz
tar xvf libsodium-1.0.15.tar.gz
./configure
make
make install

验证环境是否ok:

whereis libsodium
libsodium.png

9.zeromq安装

执行:

cd /opt/dong
wget https://github.com/zeromq/libzmq/releases/download/v4.2.2/zeromq-4.2.2.tar.gz
tar xvf zeromq-4.2.2.tar.gz
cd zeromq-4.2.2
./configure
遇到报错,yum install gcc-c++
make
make install

10.protobuf安装

执行:

cd /opt/dong
wget https://github.com/google/protobuf/releases/download/v3.5.0/protobuf-cpp-3.5.0.tar.gz
tar xvf protobuf-cpp-3.5.0.tar.gz
cd protobuf-3.5.0
./configure --prefix=/usr/local/protobuf
make
make install

配置变量:

vi /etc/profile

在文件中增加如下内容:

export PATH=$PATH:/usr/local/protobuf/bin/
export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/

即:

profile.png

执行

source profile

验证环境是否ok:

protoc  --version
protoc .png

11.pkg-config安装

执行:

cd /opt/dong
wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz
tar xvf pkg-config-0.29.2.tar.gz
cd pkg-config-0.29.2
./configure --prefix=/usr/local/pkg-config --with-internal-glib
make
make install

验证环境是否ok:

pkg-config --version
pkg-config.png

12.stf安装

执行:

npm install -g stf

下载完成后,进入:

cd /usr/local/node/node-v9.0.0-linux-x64/lib/node_modules/stf/bin
./stf doctor

出现如下报错:

libzmq.so.5 No such file

error.png

解决方案:

cd /etc
vi /etc/ld.so.conf
#新增一行:
/usr/local/zeromq/lib
ldconfig

再次检查环境:

./stf doctor
stf.png
ok,至此环境搭建成功。坚持下载一个依赖,安装后就检查环境,这样才更省心

启动stf

进入stf目录:

cd /usr/local/node/node-v9.0.0-linux-x64/lib/node_modules/stf/bin
./stf local --public-ip 172.31.3.243 --allow-remote (172.31.3.243位centos服务器地址即stf服务器地址)

在其他地址的电脑上,打开浏览器,输入

http://172.31.3.243:7100

即可访问stf,如文章一开始的截图

auth.png

致谢

stf搭建主要参考下面几篇文章,向原作者致谢。

作者:迈阿密小白
原文链接:https://www.jianshu.com/p/539ee1053da3

centos7下stf安装介绍(一)----环境搭建的更多相关文章

  1. mac10.9下eclipse的storm开发环境搭建

    --------------------------------------- 博文作者:迦壹 博客地址:http://idoall.org/home.php?mod=space&uid=1& ...

  2. Qt4.8在Windows下的三种编程环境搭建

    Qt4.8在Windows下的三种编程环境搭建 Qt的版本是按照不同的图形系统来划分的,目前分为四个版本:Win32版,适用于Windows平台:X11版,适合于使用了X系统的各种Linux和Unix ...

  3. Python介绍及环境搭建

    摘自http://www.cnblogs.com/sanzangTst/p/7278337.html Python零基础学习系列之二--Python介绍及环境搭建   1-1.Python简介: Py ...

  4. Centos7下快速安装Mongo3.2

    Centos7下快速安装Mongo3.2 一般安装Mongo推荐源码安装,有时候为了快部署测试环境,或者仅仅是想装个mongo shell,这时候yum安装是最合适的方式, 下面介绍一下如何在Cent ...

  5. Django 01 django基本介绍及环境搭建

    Django 01 django基本介绍及环境搭建 #http服务器 #用来接收用户请求,并将请求转发给web应用框架进行处理 #Web应用框架 #处理完请求后在发送给http服务器,http服务器在 ...

  6. App自动化测试-1.App自动化介绍和环境搭建

    App自动化测试-1.App自动化介绍和环境搭建 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-b ...

  7. Qt在Windows下的三种编程环境搭建

    尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/17363165 从QT官网可以得知其支持的平台.编译器 ...

  8. centos7下编译安装php-7.0.15(PHP-FPM)

    centos7下编译安装php-7.0.15(PHP-FPM) 一.下载php7源码包 http://php.net/downloads.php 如:php-7.0.15.tar.gz 二.安装所需依 ...

  9. 《Node.js入门》CentOS 6.5下Node.js Web开发环境搭建笔记

    近期想尝试一下英特尔的基于WebRTC协同通信开发套件,所以须要在本地搭建Node.js Web的开发測试环境. 这里讲的是CentOS 下的搭建方法.使用Windows的小伙伴请參考: <No ...

随机推荐

  1. JS构造函数原理与原型

    1.创建对象有以下几种方式: ①.var obj = {}; ②.var obj = new Object(); ③.自定义构造函数,然后使用构造函数创建对象 [构造函数和普通函数的区别:函数名遵循大 ...

  2. Java集群优化——使用Dubbo对单一应用服务化改造

    之前,我们讨论过Nginx+tomcat组成的集群,这已经是非常灵活的集群技术,但是当我们的系统遇到更大的瓶颈,全部应用的单点服务器已经不能满足我们的需求,这时,我们要考虑另外一种,我们熟悉的内容,就 ...

  3. Linux笔记 #09# Tomcat多开以及Nginx负载均衡简单例子

    索引 Tomcat怎样多开.. 1.添加环境变量(最基础.关键的步骤!) 2.改catalina.sh 3.改相关端口 Nginx负载均衡简单例子 Tomcat怎样多开.. 演示一下如何开两个(开n个 ...

  4. Python-图片文字识别

    百度AI接口(手写文字识别):https://ai.baidu.com/docs#/OCR-API/9ef46660 实现效果: 步骤一:接入接口 进入上述网站申请账号,然后运行相关代码,获取 acc ...

  5. C# 可指定并行度任务调度器

    可指定并行度的任务调度器 https://social.msdn.microsoft.com/Forums/zh-CN/b02ba3b4-539b-46b7-af6b-a5ca3a61a309/tas ...

  6. 【做题】agc016d - XOR Replace——序列置换&环

    原文链接 https://www.cnblogs.com/cly-none/p/9813163.html 题意:给出初始序列\(a\)和目标序列\(b\),都有\(n\)个元素.每次操作可以把\(a\ ...

  7. Windows下nginx+tomcat实现简单的负载均衡

    Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请 ...

  8. HDU 4010 Query on The Trees(动态树)

    题意 给定一棵 \(n\) 个节点的树,每个点有点权.完成 \(m\) 个操作,操作四两种,连接 \((x,y)\) :提 \(x\) 为根,并断 \(y\) 与它的父节点:增加路径 \((x,y)\ ...

  9. 解决 Command "python setup.py egg_info" failed with error code 1 问题

    参考: "pip install unroll": "python setup.py egg_info" failed with error code 1 解决 ...

  10. frame和bounds有什么不同?

    frame指的是该view在父view坐标系统中的位置和大小.(参照物是他的父坐标系统). bounds指的是该view在他本身的坐标系统中的位置和大小.(参照点是本身的坐标系统).