Jenkins+jmeter+ant+csv+win7自动化构建接口测试
Jmeter配置如下:
Csv数据:
XML文件如下:
<?xml version="1.0" encoding="UTF8"?>
<project  name="a" default="run" basedir="." >
    <tstamp>
        <format property="time" pattern="yyyyMMddhhmm" />
    </tstamp>
    <property environment="env" />
    <property name="ReportName" value="TestReport" />
    <property name="jmeter.home" value="E:\apache-jmeter-2.10" />
   
      <property name="sult.jtl.dir" value="report-app-interface/jtl" /> 
    <property name="sult.html.dir" value="report-app-interface/html" />
    <property name="sult.jtlName" value="report-app-interface/report.jtl" />
    <property name="sult.htmlName" value="report-app-interface/report.html" />
   
   
    <target name="run">
        <echo message="start"/>
        <antcall target="test" />
        <antcall target="report" />
    </target>   
    <target name="test" >
        <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
        <jmeter jmeterhome="${jmeter.home}" resultlog="${sult.jtlName}">
            <testplans dir="E:\apache-jmeter-2.10\hgf001" includes="app-interface.jmx" />
            <property name="jmeter.save.saveservice.output_format" value="xml"/>
        </jmeter>
    </target>   
    <target name="report">
        <xslt in="${sult.jtlName}"  out="${sult.htmlName}"  />
       
    </target>
</project>
使用的模板为“jmeter-results-detail-report_21.xsl
Jenkins配置如下:
配置执行节点:
每晚23点定时执行
执行前先删除之前的构建结果:
在生成的jtl文件中查所需字符,判断是否成功,是否发邮件即由此处决定
构建后发送邮件:
邮件内容配置:
构建结果console:
邮件结果如下:
也可以只获取console里面的部分截取结果,配置的邮件内容格式如下(此处非接口自动化的配置,另一ui自动化测试里面用到的结果)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>
</head>
<body width="60%">
    <table width="95%" cellpadding="0" cellspacing="0" >
        <tr>
            <td>(本邮件由程序自动下发,请勿回复!)</td>
        </tr>
        <tr>
            <td>
                <h2><font color="#FF0000">BOTH构建结果 - ${BUILD_STATUS}</font></h2>
            </td>
        </tr>
        <tr>
            <td><br />
                <b><font color="#0B610B">构建信息</font></b>
                <hr size="2" width="100%" align="center" />
            </td>
        </tr>
        <tr>
            <td>
                <ul>
                    <li>项目名称:${PROJECT_NAME}</li>
                    <li>SVN路径:${SVN_URL}</li>                   
                    <li>构建编号:${BUILD_NUMBER}</li>                   
                    <li>SVN版本:${SVN_REVISION}</li>
                    <li>触发原因:${CAUSE}</li> 
                    <li>构建日志:<a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
                </ul>
            </td>
        </tr>
        <tr>
            <td>
                <b><font color="#0B610B">变更信息333442342:</font></b>
              <hr size="2" width="100%" align="center" />
            </td>
        </tr>
        <tr>
            <td>
                <ul>
                    <li>上次构建成功后变化 :  ${CHANGES_SINCE_LAST_SUCCESS}</a></li>
                </ul>   
            </td>
        </tr>
<tr>
            <td>
                <ul>
                    <li>上次构建不稳定后变化222 :  ${CHANGES_SINCE_LAST_UNSTABLE}</a></li>
                </ul>   
            </td>
        </tr>
        <tr>
            <td>
                <ul>
                    <li>历史变更记录 333: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a></li>
                </ul>    textarea中cols表示
            </td>
        </tr>
        <tr>
            <td>
                <ul>
                    <li>变更集:${JELLY_SCRIPT,template="html"}</a></li>
                </ul>   
            </td>
        </tr>
     
     
  <tr>
    <td>
              ${BUILD_LOG_MULTILINE_REGEX,showTruncatedLines="false",regex="Runn+[\d\D]*"}
            </td>
</tr>
  <tr>
    <td>
<textarea cols="100" rows="30" readonly="readonly" > ${BUILD_LOG_MULTILINE_REGEX,showTruncatedLines="false",regex="#+(.*)"}</textarea>
            </td>
</tr>
        <hr size="2" width="100%" align="center" />

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。