zoukankan      html  css  js  c++  java
  • 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 -it 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 命令运行

    ④报告目录编写

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

     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

  • 相关阅读:
    LeetCode 81 Search in Rotated Sorted Array II(循环有序数组中的查找问题)
    LeetCode 80 Remove Duplicates from Sorted Array II(移除数组中出现两次以上的元素)
    LeetCode 79 Word Search(单词查找)
    LeetCode 78 Subsets (所有子集)
    LeetCode 77 Combinations(排列组合)
    LeetCode 50 Pow(x, n) (实现幂运算)
    LeetCode 49 Group Anagrams(字符串分组)
    LeetCode 48 Rotate Image(2D图像旋转问题)
    LeetCode 47 Permutations II(全排列)
    LeetCode 46 Permutations(全排列问题)
  • 原文地址:https://www.cnblogs.com/gsxl/p/13694071.html
Copyright © 2011-2022 走看看