一篇文字就能学会的docker + jenkins+ant+jmeter+git 持续集成接口自动化测试-(linux环境)

docker + Jenkins+JMeter持续集成接口自动化

一 . Linux环境安装docker

安装过程跳转该页面:centos7 安装docker

二 . docker 安装jenkins

安装过程跳转该页面:docker 安装 jenkins

三 . jenkins容器 安装 git ,jdk

1. 直接进入jenkins 系统管理 - 全局工具配置 直接安装

在这里插入图片描述在这里插入图片描述
2. 进入jenkins容器中查询 jdk 和 git 路径进行配置
jdk :然后通过echo $JAVA_HOME来查看 java 路径在/usr/local中,然后配置进 jenkins 的 JAVA_HOME 中即可

git 通过which git查看 git 执行文件路径为/usr/bin/git,把这个复制到 jenkins 路径中
在这里插入图片描述在这里插入图片描述

三 . jenkins容器 安装 jmeter,ant

1. 将 jmeter和 ant 压缩包移动到 Linux环境中

jmeter下载地址:http://jmeter.apache.org/download_jmeter.cgi
ant下载地址:https://ant.apache.org/bindownload.cgi
在这里插入图片描述

2. 使用 cp 复制命令 放到docker容器内某个目录
jenkins 容器命名为 jenkins,将压缩包放到容器内部 data目录下,在进入容器内部解压
docker cp /data/apache-jmeter-5.2.1.zip jenkins:/data   
docker cp /data/apache-ant-1.9.16-bin.zip jenkins:/data
unzip apache-jmeter-5.2.1.zip    # 解压到当前文件
unzip apache-ant-1.9.16-bin.zip  # 解压到当前文件
在进行配置系统环境变量
 vi /etc/profile  
在文件末尾增加地址
jmeter 环境变量
export JMETER=/data/apache-jmeter-5.2.1
export PATH=$JMETER/bin:$PATH 
ant 环境变量 
export Ant=/data/apache-ant-1.9.16
export PATH=$Ant/bin:$PATH
进行保存,在刷新系统环境变量
source /etc/profile 
在给jmeter和ant bin目录给予最高权限
chmod 777 apache-ant-1.9.16
chmod 777 apache-jmeter-5.2.1

在验证jmeter是否配置成功

输入: jmeter -v

在这里插入图片描述

ant -version

在这里插入图片描述

3. 将 apache-jmeter-5.2.1/extras文件夹下的ant-jmeter-1.1.1.jar文件拷贝到apache-ant-1.9.16/lib路径下

注意:为啥需要将jar包放到ant/lib中,ant运行时才能找到
"org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"这个类,之后可以触发Jmeter脚本

cp /data/apache-jmeter-5.2.1/extras/ant-jmeter-1.1.1.jar  /data/ant-1.9.16/lib
4.jmeter结果文件默认保存的是.csv格式的文件,因为后面要生成html,所以要修改下默认配 置,修改文件“apache-jmeter-5.2.1\bin\jmeter.properties”,设置:jmeter.save.saveservice.output_format=xml

在这里插入图片描述

5. 为了让html报告内容显示更好看,进入apache-jmeter-5.2.1\bin\jmeter.properties,将所有saveservice有关文件,将false改成true,并去掉注释

在这里插入图片描述

三 . jenkins 运行 jmeter脚本

1. 使用jenkins创建一个 job 工作目录

在这里插入图片描述

2. 使用jenkins 中 Git 拉取 jmeter中代码 ,配置完成后,点击构建,在jenkins工作空间查看拉取的脚本,会将脚本放到jenkins容器文件中,

在这里插入图片描述
在这里插入图片描述
注意:怎么看脚本放在那个位置中,可以看构建运行存放的地址
在这里插入图片描述

四 . jenkins 使用 ant运行 jmeter脚本,需要编写个build.xml 进行运行

1. jmeter 脚本目录格式
  1. 创建个 report 目录, 在这个目录在创建个 html文件夹 存放 脚本运行报告,在创建 jtl,脚本运行的结果
  2. 创建个test 目录,存放 jmeter脚本
  3. 创建个 lib目录,将jmeter脚本 新增加的 jar包存放进去,也可以将 本地jmeter中lib 复制过来
  4. 创建个 csv目录,存放 jmeter脚本 运行的参数化,比如 csv等
  5. 创建个build.xml文件,用于ant 直接运行
    在这里插入图片描述
2. build.xml 文件
<?xml version="1.0" encoding="utf-8"?>
<!--Project为整个量的根目录;name随便写,可自行更改;default默认执行什么任务,下面有个target name = "all";basedir为.代表当前目录-- 需要改到当前jenkins运行目录>
<project name="jmeter_test" default="run" basedir="."> 
    <tstamp>
        <!-- 这里是加入了年月日时分秒,用来加在报告的后缀上-->
        <format property="time" pattern="yyyyMMddhhmmss"/>
    </tstamp>
    <!-- 需要改成自己本地的 Jmeter 目录,写到bin目录的上一步就可以-->
    <property name="jmeter.home" value="/var/jenkins_home/jmeter/apache-jmeter-5.2.1" />
    <!-- jmeter生成jtl格式的结果报告的路径-->
    <property name="jmeter.result.jtl.dir" value="/var/jenkins_home/workspace/**/report/jtl" />
    <!-- jmeter生成html格式的结果报告的路径-->
    <property name="jmeter.result.html.dir" value="/var/jenkins_home/workspace/**/report/html" />

    <!-- 生成的报告的前缀ReportName的value可以自定义值,下面的jtl和html的名字是用变量来的也不需要改 -->
    <property name="ReportName" value="alen" />
    <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}-${time}-report.jtl" />
    <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}-${time}-report.html" />
    
    <!-- 对应到上面的,run,下面调用了两个:test和report-->
    <target name="run">
        <antcall target="test" />
        <antcall target="report" />
    </target>
    <!-- 对应到上面的target为test -->
    <target name="test">
        <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
        <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}" >
            <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本,脚本要执行某一个就写死哪个 -->
            <testplans dir="/var/jenkins_home/workspace/**/test" includes="*.jmx" />
            <property name="jmeter.save.saveservice.output_format" value="xml"/>
        </jmeter>
    </target>
	<path id="xslt.classpath">
        <fileset dir="${jmeter.home}/lib" includes="xalan*.jar" />
        <fileset dir="${jmeter.home}/lib" includes="serializer*.jar" />
    </path>

    <!-- 对应到上面的target为report -->
    <target name="report">
        <tstamp><format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp>
        <xslt classpathref="xslt.classpath"  
             force="true"  
             in="${jmeter.result.jtlName}"  
             out="${jmeter.result.htmlName}"  
             style="/var/jenkins_home/jmeter/apache-jmeter-5.2.1/extras/jmeter.results.shanhe.me.xsl" >  
             <param name="dateReport" expression="${report.datestamp}" />  
       </xslt> 
        <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
        <copy todir="${jmeter.result.html.dir}">
            <fileset dir="${jmeter.home}/extras">
                <include name="collapse.png" />
                <include name="expand.png" />
            </fileset>
        </copy>
    </target>

</project>

五 . jenkins 使用 ant运行 jmeter脚本

  1. 配置每天早上8点运行,需要想要几点可以搜索下
    在这里插入图片描述
  2. 使用ant 运行脚本
    在这里插入图片描述
    3.脚本运行后,需要报告显示 ,先安装插件,
    1.HTML测试报告展示的插件:HTML Publisher Plugin、Performance plugin , Groovy
    HTML Publisher Plugin下载(为了方便在jenkins中查看html测试报告):
    Performance plugin下载(根据测试工具获取性能KPIs)
    Groovy 下载 (jenkins打开HMTl测试报告样式丢失,未加载JS和CSS问题,在 Groovy Script
    输入 System.setProperty(“hudson.model.DirectoryBrowserSupport.CSP”, “”) 解决css问题
    在这里插入图片描述
    4.设置运行报告生成位置
    在这里插入图片描述

5.在立即构建,点击html就可以查看报告
在这里插入图片描述

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值