F2etest教程之安装部署(一)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: F2etest教程之安装部署

F2etest是阿里巴巴开源的一个面向前端、测试、产品等岗位的多浏览器兼容性测试整体解决方案,GitHub地址:https://github.com/alibaba/f2etest

本文参考F2etest官方docker部署方案(https://www.yuque.com/artist/f2etest),请严格按照本教程进行安装,请先确保成功一次再进行二次修改!

前期准备:

CentOS7系统,4C4G,IP地址:192.168.1.201,关闭防火墙,关闭selinux
Windows2008r2系统,4C4G,IP地址:192.168.1.207,关闭防火墙

CentOS7配置开始

1、添加wlnmp源

rpm -ivh http://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm

2、安装所需依赖
yum install gcc gcc-c++ wget libpng-devel cairo-devel uuid-devel git libvncserver-devel

3、克隆f2etest镜像

由于github过慢,我这里做了码云的镜像,以下任选其一

cd /root
git clone https://github.com/alibaba/f2etest.git
git clone https://gitee.com/whsir/f2etest.git

4、安装jdk
yum install jdk1.8

5、安装tomcat
yum install tomcat

6、安装freerdp依赖

CentOS7与CentOS6不同,CentOS7默认提供的freerdp是2.0版本,经过测试guacamole-server编译时无法找到该包,所以我这里需要安装1.0版本的freerdp。

freerdp-devel-1.0.2和freerdp-libs-1.0.2来自ftp.scientificlinux.org提供的包,为了方便大家安装,我直接将其放在了wlnmp源中

yum install freerdp-devel-1.0.2 freerdp-libs-1.0.2

安装yum-plugin-versionlock插件,锁定版本防止误升级 (可选)
yum install yum-plugin-versionlock

加锁防止误升级
yum versionlock add freerdp-devel freerdp-libs

7、编译guacamole-server
cd f2etest/f2etest-guacamole
tar xf guacamole-server-0.9.3.tar.gz
cd guacamole-server-0.9.3
./configure --with-init-dir=/etc/init.d

确保运行完毕后,RDP为yes
------------------------------------------------

guacamole-server version 0.9.3

Library status:

 freerdp ............. yes
 pango ............... no
 libssh2 ............. no
 libssl .............. no
 libtelnet ........... no
 libVNCServer ........ yes
 libvorbis ........... no
 libpulse ............ no

Protocol support:

  RDP ....... yes
  SSH ....... no
  Telnet .... no
  VNC ....... yes</pre>

make -j 8
make install
ldconfig
chkconfig --add guacd
chkconfig guacd on
/etc/init.d/guacd start

8、配置guacamole-client

guacamole默认配置文件在/etc/guacamole下,需要手动创建

mkdir /etc/guacamole
mkdir /usr/share/tomcat/.guacamole
ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole

创建guacamole.properties配置文件
vi /etc/guacamole/guacamole.properties

内容如下
# Hostname and port of guacamole proxy
guacd-hostname: localhost
guacd-port: 4822
enable-websocket: true
enable-clipboard-integration: true

auth-provider: net.sourceforge.guacamole.net.auth.noauth.NoAuthenticationProvider
noauth-config: /etc/guacamole/noauth-config.xml

auth-provider: net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider

basic-user-mapping: /etc/guacamole/user-mapping.xml

创建noauth-config配置文件

vi /etc/guacamole/noauth-config.xml

内容如下
<configs>
 &lt;config name="f2etest-ie8" protocol="rdp"&gt;
     &lt;param name="hostname" value="192.168.1.207" /&gt;
     &lt;param name="port" value="3389" /&gt;
     &lt;param name="enable-drive" value="true" /&gt;
     &lt;param name="drive-path" value="/home/guacdshare" /&gt;
 &lt;/config&gt;

</configs>


参数说明:

<config name="f2etest-ie8" protocol="rdp">:远程连接服务器的名称及协议,其中name对应F2etest-web的conf/app.json中的server
<param name="hostname" value="192.168.1.207" />:此处的IP地址为windows-server的IP
<param name="enable-drive" value="true" />:是否启动文件传输功能
<param name="drive-path" value="/home/guacdshare" />:文件传输的存储位置,如果未开启文件传输,此项会被忽略

9、启动guacamole-client

mv /root/f2etest/f2etest-guacamole/guacamole-0.9.3.war /usr/share/tomcat/webapps/guacamole.war
systemctl enable tomcat
systemctl start tomcat

10、验证guacamole-client

访问:http://192.168.1.201:8080/guacamole/

如果配置一切正常即可看到以下页面,一定要确保看到的是以下页面

PS:如果出现以下登陆窗口,请确认是不是因为没有做以下操作

mkdir /usr/share/tomcat/.guacamole
ln -sv /etc/guacamole/guacamole.properties /usr/share/tomcat/.guacamole

11、配置F2etest-web

mkdir -p /data/www
cp -R /root/f2etest/f2etest-web/ /data/www/
cd /data/www/f2etest-web

vi conf/site.json

{
"port": 3000,
"name": "F2etest",
"about": "浏览器云测平台",
"icon": "/favicon.ico",
"dbHost": "127.0.0.1",
"dbUser": "root",
"dbPass": "",
"dbTable": "f2etest",
"clientApiKey":"f2etest",
"guacamoleApi": "http://192.168.1.201:8080/guacamole/client.xhtml",
"footer": "",
"wdEnabled": false,
"wdCheckNodesInterval": 5000,
"wdCheckNodesParallelLimit": 16

}


参数说明:

port:通过浏览器访问的端口
name和about:就是浏览器的title,即<title>F2etest - 浏览器云测平台</title>
icon:站点图标,该图标在public/favicon.ico
dbHost:数据库地址
dbUser:数据库用户名
dbPass:数据库密码,不填就是空
dbTable:数据库名称
clientApiKey:该值与windows-server中setUser.asp的key一致
guacamoleApi:此处地址是guacamole-client
footer:页面底部© alibaba.com 2019后面的文案
wdEnabled:是否开启WebDriver云,默认关闭
wdCheckNodesInterval:定时检查WebDriver节点是否空闲、运行中、不可用,单位ms
wdCheckNodesParallelLimit:定时检查节点并发限制

vi conf/server.json

删除原有文件,配置以下内容
[
{
    "id": "f2etest-ie8",
    "ip": "192.168.1.207",
    "remoteApp": true
}

]


参数说明:

id:服务器名称,必须与app.json中的server名称保持一致
ip:服务器的IP地址,即windows-server的IP

vi conf/app.json

删除原有文件,配置以下内容
[
{
    "id": "hostsshare",
    "name": "hosts",
    "server": "f2etest-ie8",
    "program": "c:\\app\\hostsshare.bat"
},
{
    "id": "ie8",
    "name": "IE 8",
    "server": "f2etest-ie8",
    "program": "c:\\app\\ie8.bat"
}

]


参数说明:

id:对应浏览器云测平台界面中的图标,即public/imgs/ico目录中的图标,名称需和目录中的图标对应
name:浏览器云测平台界面中图标下方显示的名称
server:对应server.json中的id
program:windows-server中配置的文件位置

12、安装mysql

通过wlnmp源安装mysql,数据库默认密码为空

yum install wmysql55

导入数据库
mysql < /data/www/f2etest-web/f2etest.sql

13、安装NodeJS8.x
curl -sL https://rpm.nodesource.com/setup_8.x | bash -
yum install nodejs

node --version
v8.16.2

npm --version
6.4.1

14、更换npm国内镜像

npm config set registry https://registry.npm.taobao.org

15、安装pm2
npm install -g pm2@3.5.1

安装f2etest-web相关依赖
npm install

16、启动f2etest-web

通过pm2启动f2etest-web

pm2 start app.js --name f2etest-web

重启命令
pm2 restart f2etest-web

启动成功后即可看到3000端口
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
Java Shell 数据安全/隐私保护
|
存储 XML JSON
consul 简易上手指南
consul 是一个用来做服务发现的框架,具有分布式、高可用以及可横向扩展的特性
|
JavaScript 测试技术 Linux
nodejs环境搭建与express安装配置
一、NPM 1、下载nodeJS 下载地址:https://nodejs.org/en/download/ 因为我的系统是Linux 的,所以下载已经编译好的Linux,nodejs tar包 3、下载完成过后放到/usr/local/下面 4、解压:因为这个包不是gz的包所以解压 正确: # tar -xvf node-v6.
1238 0
|
28天前
|
编解码 Linux iOS开发
openEuler系统下neofetch工具的安装与基本使用
【10月更文挑战第2天】openEuler系统下neofetch工具的安装与基本使用
46 0
openEuler系统下neofetch工具的安装与基本使用
|
5月前
|
Ubuntu 数据可视化 Docker
第4讲笔记:SecretFlow & SecretNote安装部署
安装SecretFlow需在Ubuntu虚拟机上用Anaconda创建Python 3.8环境,名称为secretflow,然后在环境中运行`conda create -n secretflow python=3.8`,`source activate secretflow`和`pip install -U secretflow`。SecretFlow部署可选仿真或生产模式。仿真模式包括单机(模拟Alice、Bob)和集群仿真,生产模式涉及多节点部署,注意各节点间的通信配置。SecretNote适合多节点代码的可视化执行,但不适用于生产环境。
|
Kubernetes 网络协议 网络安全
K8s安装部署--超级详细(无坑,v1.23)
K8s安装部署--超级详细(无坑,v1.23 yum localinstall -y kernel-ml-6.4.10-1.el7.elrepo.x86_64.rpm
522 3
|
6月前
VSCode插件分享--免费的ER工具
VSCode插件分享--免费的ER工具
87 0
|
6月前
Consul安装教程和注册
Consul安装教程和注册
71 0
|
6月前
|
存储 Kubernetes 监控
KubeSphere平台安装系列之一【Kubernetes上安装KubeSphere(亲测--实操完整版)】(1/3)
KubeSphere平台安装系列之一【Kubernetes上安装KubeSphere(亲测--实操完整版)】(1/3)
97 0
|
6月前
|
数据可视化 开发工具 git
ES入门以及安装
ES入门以及安装
77 0