F2etest教程之安装部署(一)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 RDS PostgreSQL,高可用系列 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端口
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
编解码 人工智能
全球二氧化碳排放数据1deg产品(ODIAC)数据
全球二氧化碳排放数据1deg产品(ODIAC)数据
442 0
|
机器学习/深度学习 传感器 编解码
Real-ESRGAN超分辨网络
Real-ESRGAN超分辨网络
898 1
|
移动开发 应用服务中间件 Linux
Apache Guacamole教程之安装部署
Apache Guacamole教程之安装部署
8413 0
Apache Guacamole教程之安装部署
|
机器学习/深度学习 算法 TensorFlow
动物识别系统Python+卷积神经网络算法+TensorFlow+人工智能+图像识别+计算机毕业设计项目
动物识别系统。本项目以Python作为主要编程语言,并基于TensorFlow搭建ResNet50卷积神经网络算法模型,通过收集4种常见的动物图像数据集(猫、狗、鸡、马)然后进行模型训练,得到一个识别精度较高的模型文件,然后保存为本地格式的H5格式文件。再基于Django开发Web网页端操作界面,实现用户上传一张动物图片,识别其名称。
475 1
动物识别系统Python+卷积神经网络算法+TensorFlow+人工智能+图像识别+计算机毕业设计项目
|
Java 关系型数据库 MySQL
体育赛事管理系统的设计与实现(源码+论文)_kaic
体育赛事管理系统的设计与实现(源码+论文)_kaic
|
缓存 前端开发 JavaScript
简述 PWA
PWA(Progressive Web App)是一种利用现代网络技术构建的渐进式增强应用,能够提供类似原生应用的用户体验。它具有快速加载、离线访问、推送通知等功能,支持跨平台和设备使用。
|
移动开发 JavaScript 前端开发
基于CSS3、原生JS、Vue3.0技术各自实现序列帧动画效果
这篇文章展示了如何使用纯CSS3、原生JavaScript以及Vue 3.0技术来实现序列帧动画效果,并通过代码示例和动画效果展示了每种方法的实现过程和最终效果。
478 0
|
IDE 小程序 前端开发
OpenSumi 问题之 OpenSumi 的定制能力要怎么体现
OpenSumi 问题之 OpenSumi 的定制能力要怎么体现
241 4
|
机器学习/深度学习 运维 数据可视化
深度学习之热力图
热力图(Heatmap)在深度学习中是用于可视化数据、模型预测结果或特征的重要工具。它通过颜色的变化来表示数值的大小,便于直观地理解数据的分布、模型的关注区域以及特征的重要性。以下是深度学习中热力图的主要应用和特点。
984 0
|
JSON Kubernetes Cloud Native
云原生|kubernetes|多集群管理之kubeconfig文件配置和使用(定义,使用方法,合并管理多集群)
云原生|kubernetes|多集群管理之kubeconfig文件配置和使用(定义,使用方法,合并管理多集群)
1511 0