STF,全名Smartphone Test Farm---智能手机测试平台,可以提供远程真机调试的功能,目前仅支持Android设备。

环境准备

1.Node.js 8

  • 安装Node.js
$ curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
$ sudo yum install -y nodejs
  • 安装cnpm
$ sudo npm install -g cnpm --registry=https://registry.npm.taobao.org
  • 验证
// node.js,输出版本
$ node --version
// npm,输出版本
$ npm --version
// cnpm,输出版本
$ cnpm -v

2.ADB

  • 安装adb
$ sudo yum install android-tools
  • 验证
$ adb version

3.RethinkDB >= 2.2

  • 方法一、安装RethinkDB(安装时超时错误,此次安装用的是方法二)
$ sudo wget https://download.rethinkdb.com/centos/7/`uname -m`/rethinkdb.repo \
-O /etc/yum.repos.d/rethinkdb.repo
$ sudo yum install rethinkdb
  • 方法二、源代码编译安装RethinkDB
// 安装主要依赖项
$ sudo yum install openssl-devel libcurl-devel wget tar m4 git-core \
boost-static m4 gcc-c++ npm ncurses-devel which --skip-broken \
make ncurses-static zlib-devel zlib-static bzip2 \
patch // 安装可选的构建依赖项
$ sudo yum install epel-release
$ sudo yum install protobuf-devel protobuf-static jemalloc-devel // 下载并解压缩源码包
$ wget https://download.rethinkdb.com/dist/rethinkdb-2.4.0.tgz(下载太慢可手动打开链接再传输到centos)
$ sudo tar xf rethinkdb-2.4.0.tgz -C /usr/local // 编译&安装
# cd rethinkdb-2.4.0
# ./configure --allow-fetch --dynamic jemalloc
# make && make install
  • 验证
$ rethinkdb -v

4.GraphicsMagick

  • 安装GraphicsMagick
// 安装相关依赖
$ sudo yum install -y gcc libpng libjpeg libpng-devel libjpeg-devel ghostscript libtiff libtiff-devel freetype freetype-devel // 下载并解压
$ wget ftp://ftp.graphicsmagick.org/pub/GraphicsMagick/1.3/GraphicsMagick-1.3.33.tar.gz(下载太慢可手动打开链接再传输到centos)
$ sudo tar -zxvf GraphicsMagick-1.3.33.tar.gz -C r/local/ // 编译&安装
# cd /usr/local/GraphicsMagick-1.3.33
# ./configure --prefix=/usr/local/GraphicsMagick-1.3.33 --with-quantum-depth=8 --enable-shared --enable-static
# make && make install // 创建软链
# ln -s /usr/local/GraphicsMagick-1.3.28 /usr/local/GraphicsMagick
  • 设置环境变量
# vim /etc/profile.d/gmagick.sh

// 写入以下内容
export GMAGICK_HOME="/usr/local/GraphicsMagick"
export PATH="$GMAGICK_HOME/bin:$PATH"
LD_LIBRARY_PATH=$GMAGICK_HOME/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH // 生效配置
# source /etc/profile.d/gmagick.sh
  • 验证
$ gm version

5.ZeroMQ

  • 安装ZeroMQ
// 下载并解压
$ wget https://github.com/zeromq/libzmq/releases/download/v4.3.2/zeromq-4.3.2.tar.gz(下载太慢可手动打开链接再传输到centos)
$ sudo tar xvf zeromq-4.3.2.tar.gz -C /usr/local // 编译&安装
# cd /usr/local/zeromq-4.3.2
# ./configure
# make && make install

6.Protocol Buffers >=3

  • 安装Protocol Buffers
// 下载并解压
$ wget https://github.com/protocolbuffers/protobuf/releases/download/v3.11.3/protobuf-cpp-3.11.3.tar.gz(下载太慢可手动打开链接再传输到centos)
$ sudo tar xvf protobuf-cpp-3.11.3.tar.gz -C /usr/local // 编译&安装
# cd /usr/local/protobuf-3.11.3
# ./configure --prefix=/usr/local/protobuf
# make && make install
  • 设置环境变量
# vim/etc/profile

// 追加以下内容
export PATH=$PATH:/usr/local/protobuf/bin/
export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/ // 生效配置
# source /etc/profile
  • 验证
$ protoc --version
  • 备注:若检测版本<3.0,需要将原protoc卸载
// 查找原路径
# which protoc // 路径为上一步的输出路径
# rm /usr/bin/protoc // 重新配置
# source /etc/profile

7.yasm

  • 安装yasm
// 下载并解压
$ wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz(下载太慢可手动打开链接再传输到centos)
$ sudo tar xvf yasm-1.3.0.tar.gz -C /usr/local // 编译&安装
# cd /usr/local/yasm-1.3.0
# ./configure --prefix=/usr/local/yasm-1.3.0
# make && make install
  • 设置环境变量
# vim/etc/profile

// 追加以下内容
export PATH=/usr/local/yasm/bin:$PATH // 生效配置
# source /etc/profile
  • 验证
$ yasm --version

8.pkg-config

  • 安装pkg-config
// 下载并解压
$ wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz(下载太慢可手动打开链接再传输到centos)
$ sudo tar xvf pkg-config-0.29.2.tar.gz -C /usr/local // 编译&安装
# cd /usr/local/pkg-config-0.29.2
# ./configure --prefix=/usr/local/pkg-config --with-internal-glib
# make && make install
  • 验证
$ pkg-config --version

安装STF

  • cnpm安装stf
# cnpm install -g stf
  • 检查STF环境
# stf doctor

运行

  • 启动RethinkDB
// 后台执行
# rethinkdb &
  • 开启STF服务
// --public-ip 192.168.1.9 指centos服务器地址
// --port 7100 指定访问端口
// --allow-remote 允许远程访问
// & 后台执行
# stf local --public-ip 192.168.1.9 --port 7100 --allow-remote &
  • 开放远程访问端口7100
// 查看已经开放的端口
# firewall-cmd --list-ports // 开启7100端口
# firewall-cmd --zone=public --add-port=7100/tcp --permanent // 重启防火墙
# firewall-cmd --reload

远程访问STF

  • 打开地址http://192.168.1.9:7100

  • 输入任意Name&E-mail 登录

Centos7 下搭建STF平台的更多相关文章

  1. Centos7下搭建LAMP平台环境 (转载)

     1.启用Apache(httpd) Centos7默认已经安装httpd服务,只是没有启动.如果你需要全新安装,可以yum install -y httpd 启动服务:systemctl start ...

  2. Centos7下搭建LAMP平台环境

    1.启用Apache2 Centos7默认已经安装httpd服务,只是没有启动.如果你需要全新安装,可以yum install -y httpd 启动服务:systemctl start httpd. ...

  3. 在Centos7下搭建Socks5代理服务器

    在Centos7下搭建Socks5代理服务器 http://blog.51cto.com/quliren/2052776   采用socks协议的代理服务器就是SOCKS服务器,是一种通用的代理服务器 ...

  4. Hyperledger超级账本在Centos7下搭建运行环境

    超级账本(hyperledger)是Linux基金会于2015年发起的推进区块链数字技术和交易验证的开源项目,加入成员包括:荷兰银行(ABN AMRO).埃森哲(Accenture)等十几个不同利益体 ...

  5. Linux系统:Centos7下搭建PostgreSQL关系型数据库

    本文源码:GitHub·点这里 || GitEE·点这里 一.PostgreSQL简介 1.数据库简介 PostgreSQL是一个功能强大的开源数据库系统,具有可靠性.稳定性.数据一致性等特点,且可以 ...

  6. 第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误,

    第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误, 注意:版本,不然会报错 Docker >=1.11Compose >1.6.0 通过d ...

  7. centos7下搭建ceph luminous(12.2.1)--无网或网络较差

    本博客的主要内容是在centos7下搭建luminous,配置dashboard,搭建客户端使用rbd,源码安装ceph,最后给出一些较为常用的命令.本博客针对初次接触ceph的人群. 搭建环境: 主 ...

  8. CentOS7下搭建zabbix监控(四)——Zabbix报警设置

    CentOS7下搭建zabbix监控(一)——Zabbix监控端配置 CentOS7下搭建zabbix监控(二)——Zabbix被监控端配置 CentOS7下搭建zabbix监控(三)——Zabbix ...

  9. CentOS7下搭建zabbix监控(三)——Zabbix监控服务配置

    CentOS7下搭建zabbix监控(一)——Zabbix监控端配置 CentOS7下搭建zabbix监控(二)——Zabbix被监控端配置 (1).配置Zabbix监控Apache服务 主机名:yo ...

随机推荐

  1. leetcode.1275找出井字棋的获胜者

    A 和 B 在一个 3 x 3 的网格上玩井字棋. 井字棋游戏的规则如下: 玩家轮流将棋子放在空方格 (" ") 上.第一个玩家 A 总是用 "X" 作为棋子, ...

  2. [白话解析] 深入浅出一致性Hash原理

    [白话解析] 深入浅出一致性Hash原理 0x00 摘要 一致性哈希算法是分布式系统中常用的算法.但相信很多朋友都是知其然而不知其所以然.本文将尽量使用易懂的方式介绍一致性哈希原理,并且通过具体应用场 ...

  3. Linux常用命令大全(三)

    Linux常用命令大全(三) 文件类型 普通文件(文本文件.数据文件.可执行的二进制文件) 目录文件 同上 差别:由成对的"I节点号.文件名"构成的列表 设备文件 (字符设备.块设 ...

  4. 1028 人口普查 (20 分)C语言

    题目描述 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过200岁的老人,而今天是20 ...

  5. 小小知识点(三十五)MATLAB中如何更改所画Figure的图形比例

    1. 打开一个figure,show plot tools and dock figure 2.选择图形的 more properties 3. 选择aspect ratio中的plotboxaspe ...

  6. 面试中经常问到的Redis七种数据类型,你都真正了解吗?

    前言 Redis不是一个简单的键值对存储,它实际上是一个支持各种类型数据结构的存储.在传统的键值存储中,是将字符串键关联到字符串值,但是在Redis中,这些值不仅限于简单的字符串,还可以支持更复杂的数 ...

  7. 20.java-JDBC连接mysql数据库详解

    1.JDBC介绍 jdbc(java database connectivity)为java开发者使用数据库提供了统一的编程接口,它由一组java类和接口组成. JDBC需要用到的类和接口有: Dri ...

  8. python中super()

    super() : 获取当前类的父类 效果图: 代码: class Animal: def __init__(self,name): self._name = name @property def n ...

  9. TypeScript 源码详细解读(3)词法2-标记解析

    在上一节主要介绍了单个字符的处理,现在我们已经有了对单个字符分析的能力,比如: 判断字符是否是换行符:isLineBreak 判断字符是否是空格:isWhiteSpaceSingleLine 判断字符 ...

  10. 如何用好Go的测试黑科技

    测试是每一个开发人员都需要掌握的技能,尽管你不需要像测试人员那么专业,但你也应该尽可能的做到那么专业,据我了解到我身边的一些Go开发人员,他们对Go的测试仅仅局限于写一个_test.go 测试文件,对 ...