- 下载apache-jmeter-5.3.tgz和apache-ant-1.10.12-bin.tar.gz的安装包;
wget https://downloads.apache.org/ant/binaries/apache-ant-1.10.12-bin.tar.gz #下载ant
wget https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-5.3.tgz #下载jmeter
- 把下载好的安装包传入linux服务器上;
- 全部放入/tmp文件夹下;
- 解压两个安装包:
[root@localhost opt]# tar zxvf apache-ant-1.10.12-bin.tar.gz #解压ant压缩包
[root@localhost opt]# chmod 777 apache-ant-1.10.12 #改变权限
[root@localhost opt]# tar zxvf apache-jmeter-5.3.tgz #解压jmeter压缩包
- 配置环境变量,输入以下指令进行配置:
[root@localhost opt]#vi /etc/profile # 进入配置文件编辑页面
在文件尾部添加如下信息:
#set Ant environment
export ANT_HOME=/opt/apache-ant-1.10.12
export PATH=$PATH:$ANT_HOME/bin
#set Jmeter enviroment
export JMETER_HOME=/opt/apache-jmeter-5.3
export PATH=$PATH:$JMETER_HOME/bin
注意:JMETER_HOME=/opt/ apache-jmeter-5.3 填写的是jmeter实际的安装目录,ant同理;
:wq # 保存退出
- 编辑完之后,保存并退出,然后输入以下指令,刷新环境配置使其生效:
[root@localhost opt]# source /etc/profile # 使配置文件生效
- 查看 jmeter和ant是否安装成功
jmeter -version
ant -version
- 将apache-jmeter-5.3\extras目录下的:ant-jmeter-1.1.1.jar 复制到apache-ant-1.9.12\lib\
cp extras/ant-jmeter-1.1.1.jar ../apache-ant-1.9.12/lib/ant-jmeter-1.1.1.jar
- 在脚本文件夹下创建build.xml文件,粘贴文件夹中同名的配置
编辑build.xml:(vi编辑或者在自己Windows电脑编辑好再上传)
<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
<tstamp>
<format property="datestamp" pattern="yyyy/MM/dd HH:mm" />
<format property="time" pattern="yyyy-MM-dd-HH-mm" />
</tstamp>
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="/tmp/ifs/apache-jmeter-5.3" />
<!-- 本地项目工程目录-->
<property name="location" value="/tmp/ifs"/>
<property name="report.title" value="接口测试"/>
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="${location}/report" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="${location}/report" />
<!-- jmeter生成csv格式的结果报告的路径-->
<property name="jmeter.result.csv.dir" value="${location}/report" />
<!-- 生成的报告的前缀-->
<property name="ReportName" value="${time}" />
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}.jtl" />
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}.html" />
<property name="jmeter.result.csvName" value="${jmeter.result.csv.dir}/${ReportName}.csv" />
<target name="run">
<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="${jmeter.result.jtlName}">
<!-- 声明要运行的脚本"*.jmx"指包含此目录下的所有jmeter脚本-->
<testplans dir="${location}" includes="*.jmx" />
<property name="jmeter.save.saveservice.assertion_results" value="run"/>
<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">
<xslt
classpathref="xslt.classpath"
force="true"
in="${jmeter.result.jtlName}"
out="${jmeter.result.htmlName}"
style="${jmeter.home}/extras/jmeter-results-newreport.xsl">
<param name="dateReport" expression="${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>
-
把文件夹中的jmeter-results-report_21.xsl和jmeter-results-detail-report_21.xsl文件复制到/opt/apache-jmeter-5.4.1/extras/文件下(;#这个是测试生成模板,可修改)
-
在把/opt/apache-jmeter-5.4.1/bin/ jmeter.properties文件中修改
jmeter.save.saveservice.output_format=csv 为 jmeter.save.saveservice.output_format=xml并去掉前面的注释符号
注释掉sampleresult.default.encoding=ISO-8859-1并增加sampleresult.default.encoding=UTF-8
jmeter.save.saveservice.data_type=true
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
# response_data is not currently supported for CSV output
jmeter.save.saveservice.response_data=true
# Save ResponseData for failed samples
jmeter.save.saveservice.response_data.on_error=true
jmeter.save.saveservice.response_message=true
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.thread_name=true
jmeter.save.saveservice.time=true
jmeter.save.saveservice.subresults=true
jmeter.save.saveservice.assertions=true
jmeter.save.saveservice.latency=true
jmeter.save.saveservice.connect_time=true
jmeter.save.saveservice.samplerData=true
jmeter.save.saveservice.responseHeaders=true
jmeter.save.saveservice.requestHeaders=true
jmeter.save.saveservice.encoding=true
jmeter.save.saveservice.bytes=true
# Only available with HttpClient4
jmeter.save.saveservice.sent_bytes=true
jmeter.save.saveservice.url=true
jmeter.save.saveservice.filename=true
jmeter.save.saveservice.hostname=true
jmeter.save.saveservice.thread_counts=true
jmeter.save.saveservice.sample_count=true
jmeter.save.saveservice.idle_time=true
以上配置完成,就直接在脚本目录下执行
ant run