jmeter-4-linux下环境搭建 jmeter+ant+docker-jenkins,持续集成测试完成

前言

jmeter + ant + jenkins 本篇将开始学习Linux下搭建,完成持续集成测试的demo。

一、必备环境

1、jdk(docker安装jenkins的小伙伴请忽略此步骤)

2、jmeter

3、ant

4、jenkins(本篇是docker安装的jenkins,其它方式安装也类型一样部署)

5、git 或 gitlab 或无代码托管(build.xml、jmx、等样式代码)

以上必备环境如果没有安装好那么请详细看这篇(jenkins/git/gitlab需自行安装,这里不展开):https://www.cnblogs.com/gsxl/p/13660988.html

安装docker请参考:https://www.cnblogs.com/gsxl/p/11674378.html

【docker-jenkins重点】

1、将jmeter目录挂载到jenkins容器目录;

我docker-jenkins挂载目录为/root/jenkins/,我已将jmeter、ant挂载至此,如下:

[root@iZbp19lugf22zbsubsf1y6Z jenkins]# pwd
/root/jenkins
[root@iZbp19lugf22zbsubsf1y6Z jenkins]# ll
total 292
drwxr-xr-x   6 root root  4096 May 10 21:42 apache-ant-1.9.15
drwxr-xr-x   8 root root  4096 Jan  2  1970 apache-jmeter-5.3

2、将ant目录挂载到jenkins容器目录,且设置环境变量;

设置容器内部环境变量:

①查看jenkins容器:

[root@iZbp19lugf22zbsubsf1y6Z ~]# docker ps
a14a6692e225        jenkinsci/blueocean    "/sbin/tini -- /usr/…"   8 months ago        Up 2 hours          0.0.0.0:50000->50000/tcp, 0.0.0.0:3006->8080/tcp   jenkins
[root@iZbp19lugf22zbsubsf1y6Z ~]# 

②进入容器bash:

[root@iZbp19lugf22zbsubsf1y6Z ~]# docker exec -itu root a14a6692e225 /bin/bash
bash-4.3$ 

③设置ant环境变量,且执行生效;

将以下复制粘贴至最后一行:vi /etc/profile

# ANT_HOME
ANT_HOME=/var/jenkins_home/apache-ant-1.9.15
export PATH=$PATH:$ANT_HOME/bin
export PATH=$PATH:$ANT_HOME/lib

bash-4.3$ vi /etc/profile

export CHARSET=UTF-8
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export PAGER=less
export PS1='\h:\w\$ '
umask 022

for script in /etc/profile.d/*.sh ; do
        if [ -r $script ] ; then
                . $script
        fi
done


# ANT_HOME
ANT_HOME=/var/jenkins_home/apache-ant-1.9.15
export PATH=$PATH:$ANT_HOME/bin
export PATH=$PATH:$ANT_HOME/lib

④环境变量生效及验证版本:

命令:source /etc/profile

bash-4.3$ source /etc/profile
a14a6692e225:/$ ant -version
Apache Ant(TM) version 1.9.15 compiled on May 10 2020
a14a6692e225:/$ 

3、build.xml需改为jenkins容器内部目录路径;总共五个地方,详细看build.xml文件

如我的:/var/jenkins_home/workspace/workName

二、jenkins设置

如未在Linux下安装 jenkins 可以参考这篇的 docker 安装 jenkins:https://www.cnblogs.com/gsxl/p/12129333.html (本篇将是把jmeter、ant都挂载到jenkins容器目录)

1、开启报告样式(否则你的报告没有css、js,因为jenkins会屏蔽防止被攻击),所以需要在,jenkins设置中的【Script Console】“脚本命令行”执行一条语句:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

 

 2、安装插件(安装后重启jenkins):HTML Publisher plugin

直接搜索安装:HTML Publisher plugin

3、新建job【自由风格项目】

这是我的git托管地址:https://github.com/git-gsxl/jmeter-ant.git   build.xml文件中需要改5个地方

①参数化,添加:branch  (构建可以指定分支名称)

②Git:代码托管地址

③ant 命令运行 或使用jenkins 安装的ant也可以如下图:

④报告目录编写

以上步骤详细看下面图,另外演示:设置远程构建令牌

 4、手动触发构建,输入git或其它代码托管的分支名称,执行后查看报告

 最后还可以加入钉钉提醒:

加入shell:

#!/bin/bash -l

echo "钉钉通知" curl 'https://oapi.dingtalk.com/robot/send?access_token=你的钉钉机器人token' \ -H 'Content-Type: application/json' \ -d ' { "msgtype": "text", "text": {"content": "总结报告:http://ip:3006/job/'$JOB_NAME'/'$BUILD_ID'/InterfaceReport"}, "at": {"isAtAll": true} }'

1、提醒查看:

 2、机器人发的消息:

3、点击链接跳转进入:

当然shell还有这强大的功能,三剑客的使用你可以对html报告进行一个读取,查看多少成功率、总运行用例多少、返回超2s的多少,失败的有多少数量等等;

举个例子:我们要显示,①总接口数量:xxx  ②成功率:xxx  

是可以通过shell三剑客来读html报告得出结果,再通过变量的方式传入钉钉发送参数,这样能更完善钉钉通知多能查看到的信息。

附加:

Windows搭建传送门:https://www.cnblogs.com/gsxl/p/13655788.html
Linux搭建传送门:https://www.cnblogs.com/gsxl/p/13694071.html

最后欢迎来大家QQ交流群一起学习:482713805

posted @ 2020-09-19 11:40  广深-小龙  阅读(1100)  评论(0编辑  收藏  举报