1.下载jmeter,并配置环境变量(已安装jdk)
新建系统变量名“JMETER_HOME”,
变量值中输入:D:\Progrom Files\apache-jmeter-2.13,点击确定即可。
在环境变量CLASSPATH中添 加%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-1.2.jar;
在path中添加%JMETER_HOME%\bin
在cmd对话框中输入 jmeter -v 如果可以看到jmeter版本,则证明环境变量配置成功
2.下载Ant,配置环境变量
新建环境变量“ANT_HOME”变量值中输入ant所在路径
在path变量中添加;%ANT_HOME%\bin
在cmd输入框中输入ant -v,如果可以看到ant版本,则环境变量配置成功
3.编写接口测试脚本
jmeter保存的脚本格式一般为.jmx格式 将脚本保存在jmeter的二级目录下,如“jmeter/test”
4.修改jmeter中的配置文件
将jemter/bin目录下的jmeter.properties中修改为:
jmeter.save.saveservice.output_format=xml
并
将apache-jmeter-2.13\extras\ant-jmeter-1.1.1.jar拷贝到apache-ant-1.9.7\lib目录下;
5.配置build.xml文件,文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp>
<!--配置jmeter的根目录-->
<property name="jmeter.home" value="C:\jmeter2.10" />
<!--配置生成报告的的根目录-->
<property name="jmeter.result.jtl.dir" value="C:\jmeter2.10\task\report" />
<!--配置生成报告的的根目录-->
<property name="jmeter.result.html.dir" value="C:\jmeter2.10\task\report" />
<!--配置生成报告的的报告名称-->
<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" />
<!--配置运行集成任务的名称,当前配置为run-->
<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="${jmeter.result.jtlName}">
<testplans dir="C:\jmeter2.10\task\" includes="*.jmx" />
<property name="jmeter.save.saveservice.output_format" value="xml"/>
</jmeter>
</target>
<target name="report">
<xslt in="${jmeter.result.jtlName}"
out="${jmeter.result.htmlName}"
style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" />
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
</project>
<project name="ant-jmeter-test" default="run" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp>
<!--配置jmeter的根目录-->
<property name="jmeter.home" value="C:\jmeter2.10" />
<!--配置生成报告的的根目录-->
<property name="jmeter.result.jtl.dir" value="C:\jmeter2.10\task\report" />
<!--配置生成报告的的根目录-->
<property name="jmeter.result.html.dir" value="C:\jmeter2.10\task\report" />
<!--配置生成报告的的报告名称-->
<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" />
<!--配置运行集成任务的名称,当前配置为run-->
<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="${jmeter.result.jtlName}">
<testplans dir="C:\jmeter2.10\task\" includes="*.jmx" />
<property name="jmeter.save.saveservice.output_format" value="xml"/>
</jmeter>
</target>
<target name="report">
<xslt in="${jmeter.result.jtlName}"
out="${jmeter.result.htmlName}"
style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" />
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
</project>
6.运行集成测试任务
打开cmd窗口 cd到jmeter中测试脚本存放的路径,保证该路径下已经配置了build.xml文件
输入ant或者ant run(run为build.xml中配置的任务名称)
执行时会遇到报错的情况,例如:the jmeter type doesn't support nested text data
这个是因为build.xml文件中存在编码不同的字符,解决办法为:
使用notpad++打开build.xml保存为与当前系统一致的编码,一般为ANSI 或者utf-8 no BOM这两种,尝试切换,可以看到文件中隐藏的编码,然后删除即可