jenkins ant jmeter

本文介绍了如何配置Ant脚本进行JMeter性能测试,并通过构建过程生成测试报告,最后自动生成包含测试概要和链接的邮件模板。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、先配置好build.xml文件

如果持续集成,必须要按照以下文件配置

<?xml version="1.0" encoding="UTF-8"?>

<project name="ant-jmeter-test" default="run" basedir=".">
    <tstamp>
        <format property="time" pattern="yyyyMMddhhmm" />
    </tstamp>

    <property environment="env"/>
    <property name="ReportName" value="TestReport" />
    <!-- 需要改成自己本地的 Jmeter 目录--> 
    <property name="jmeter.home" value="D:\apache-jmeter-4.0" />
    <!-- jmeter生成jtl、html格式的结果报告的路径--> 
    <property name="jmeter.result.dir" value="${env.WORKSPACE}/results/${env.BUILD_ID}" />
    <!-- 生成的报告的前缀-->  
    <property name="jmeter.result.jtlName" value="${jmeter.result.dir}/${ReportName}.jtl" />
    <property name="jmeter.result.htmlName" value="${jmeter.result.dir}/${ReportName}.html" />
    <!-- GIT拉取到本地目录路径 -->
    <property name="githome" value="${env.WORKSPACE}/autoscript/execute" />
    

    <target name="run">
        <echo message="start..."/>
     <antcall target="clean" />
        <antcall target="test" />
        <antcall target="report" />
    </target>
    
<target name="clean">
        <mkdir dir="${env.WORKSPACE}/results/${env.BUILD_ID}" />
    </target>
 
    <target name="test">
        <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
        <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
            <!-- 声明要运行的脚本"*.jmx"指包含此目录下的所有jmeter脚本,includes里的文件也可以用逗号,隔开-->
             <testplans dir="${githome}" 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 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="${jmeter.home}/extras/jmeter.results.shanhe.me.xsl">
              <param name="dateReport" expression="${report.datestamp}"/>
        </xslt>
        <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 --> 
        <copy todir="${jmeter.result.dir}">
            <fileset dir="${jmeter.home}/extras">
                <include name="collapse.png" />
                <include name="expand.png" />
            </fileset>
        </copy>
    </target>
</project>


2、邮件模板

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>${PROJECT_NAME}-第${BUILD_NUMBER}次构建日志</title>
</head>
<body>
    <table width="95%" cellpadding="0" cellspacing="0" style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
        <tr>
            <td colspan="2">
                <h3 style="color: #0000FF">各位领导你好:</h3>
            </td>
        </tr>
        <tr>
            <td colspan="2">&nbsp;&nbsp;&nbsp;&nbsp; ${PROJECT_NAME}的接口自动化测试运行报告已出,本次报告概要内容,详细请看附件:</td>
        </tr>
        <tr>
            <td colspan="2"><br /> <b> <font color="#0000FF">测试计划概况</font></b>
                <hr size="2" width="100%" align="center" /></td>
        </tr>
        <tr>
            <td>计划名称:</td>
            <td>${PROJECT_NAME}</td>
        </tr>
        <tr>
            <td>运行环境:</td>
            <td><a href="${JENKINS_URL}">${JENKINS_URL}</a></td>
        </tr>
        <tr>
            <td>触发原因:</td>
            <td>${CAUSE}</td>
        </tr>
        <tr>
            <td>构建编号:</td>
            <td>第${BUILD_NUMBER}次构建</td>
        </tr>
        <tr>
            <td style="color: #FF0000"><b>构建结果</b>:</td>
            <td style="color: #FF0000"><b>${BUILD_STATUS}</b></td>
        </tr>
        <tr>
            <td>构建 Url:</td>
            <td><a href="${JOB_URL}${BUILD_NUMBER}/">${JENKINS_URL}job/XXX/job/XXX/${BUILD_NUMBER}/</a></td>
        </tr>
        <tr>
            <td rowspan="2">测试报告:</td>
            <td><a href="${JOB_URL}HTML_20Report/">${JENKINS_URL}job/XXX/job/XXX/HTML_20Report/</a></td>
        </tr>
                 <tr>
            <td><a href="${JOB_URL}performance">${JENKINS_URL}job/XXX/job/XXX/performance/</a></td>
        </tr>
        <tr>
            <td colspan="2">
                <hr size="2" width="100%" align="center" /> <b style="color: #FF0000">(本邮件是程序自动下发的,请勿回复!)</b>
            </td>
        </tr>
    </table>
</body>
</html>

3、其他配置参照下图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值