jmeter+ant
安装ant
1、下载地址:https://ant.apache.org/bindownload.cgi
2、解压并剪切到固定目录
tar -zxvf apache-ant-1.10.12-bin.tar.gz
mv apache-ant-1.10.12 /usr/local/
3、配置环境变量vim /etc/profile
#配置ant环境
export ANT_HOME=/usr/local/apache-ant-1.10.12
export PATH=$PATH:$ANT_HOME/bin:$ANT_HOME/lib
4、环境变量生效
source /etc/profile
5、验证
ant -v
6、jmeter目录下创建entry_name文件夹(测试项目存放路径)
cd /usr/local/apache-jmeter-5.2.1
mkdir entry_name
7、在entry_name目录下面,创建build.xml文件,文件编码格式必须是UTF-8
jmeter-results-detail-report_21.xsl
模板用下面这个build.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
<taskdef resource="net/sf/antcontrib/antlib.xml" />
<!-- (1)需要改成自己本地的 Jmeter 目录-->
<property name="jmeterPath" value="/usr/local/apache-jmeter-5.2.1"/>
<!-- jmeter脚本路径 -->
<property name="scriptsPath" value="${jmeterPath}/entry_name/jmeter_scripts"/>
<!-- jmeter测试报告路径 -->
<property name="reportPath" value="${jmeterPath}/entry_name/report"/>
<!-- email配置信息 -->
<property name="mail_host" value="smtp.126.com"/>
<property name="mail_port" value="465"/>
<!-- email发送账户密码 -->
<property name="username" value="wuyxxxxxx8@126.com"/>
<property name="password" value="KWHCXXXXXXXMTQCZ"/>
<property name="mail_from" value="wuyxxxxxx8@126.com"/>
<!-- mail_to:接收邮件列表,多个用逗号隔开 -->
<property name="mail_to" value="396xxxx96@qq.com,2934xxxx02@qq.com"/>
<property name="report.title" value="Jmeter接口自动化测试报告"/>
<tstamp><format property="time" pattern="yyyyMMddHHmm" /></tstamp>
<property name="jmeter.home" value="${jmeterPath}"/>
<!-- (2)jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="${reportPath}/resultLog/jtl"/>
<!-- (3)jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="${reportPath}/resultLog/html"/>
<property name="mailsubject" value="Jmeter接口自动化测试报告"/>
<property name="message" value="今日接口测试任务已执行完毕,详情请查看附件!!!"/>
<!-- 生成的报告的前缀 -->
<property name="ReportName" value="TestReport"/>
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl"/>
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html"/>
<target name="run">
<antcall target="test"/>
<antcall target="report"/>
<antcall target="mail"/>
</target>
<target name="test">
<echo>执行接口自动化测试用例</echo>
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/>
<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
<!-- (4)build.xml的存放的路径-->
<testplans dir="${scriptsPath}" 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">
<echo>生成接口自动化测试报告</echo>
<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-detail-report_21.xsl">
<param name="titleReport" expression="${mailsubject}${time}"/>
<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>
<!-- path id="lib_classpath">
<fileset dir="${basedir}/">
<include name="mail*.jar" />
<include name="activation*.jar" />
<include name="commons-email*.jar" />
<include name="ant-contrib*.jar" />
</fileset>
</path -->
<target name="mail">
<echo>发送测试报告</echo>
<mail mailhost="${mail_host}"
mailport="${mail_port}"
ssl="true"
subject="${mailsubject}"
messagemimetype="text/html"
user="${username}"
password="${password}"
tolist="${mail_to}">
<from address="${mail_from}"/>
<fileset dir="${jmeter.result.html.dir}">
<include name="${ReportName}${time}.html"/>
<include name="*.png" />
</fileset>
<message>${message}</message>
</mail>
</target>
</project>
8、测试项目目录下创建jmeter_scripts文件夹(脚本存放路径)
cd /usr/local/apache-jmeter-5.2.1/entry_name
mkdir jmeter_scripts
将jmeter脚本放在这个目录下面,没有脚本会报错
9、测试项目目录下创建report文件夹(测试报告存放路径)
cd /usr/local/apache-jmeter-5.2.1/entry_name
mkdir report
10、将jmeter的extras目录下
的ant-jmeter-1.1.1.jar
复制到ant的lib目录下
cd /usr/local/apache-jmeter-5.2.1/extras/
cp ant-jmeter-1.1.1.jar /usr/local/apache-ant-1.10.12/lib/
11、修改jmeter的bin目录下jmeter.properties文件
vim jmeter.properties
jmeter.save.saveservice.output_format=xml
12、下载email相关jar包,并将这三个jar包复制到ant的lib目录下
点击下载,commons-email-1.5.jar
点击下载,activation-1.1.1.jar
点击下载,javax.mail.jar
13、在build.xml目录,执行
cd /usr/local/apache-jmeter-5.2.1/entry_name
ant
或者
ant -buildfile build.xml
14、查看执行结果及邮件