使用jmeter+ant进行接口集成测试,输出测试报告的方法

来源:互联网 发布:淘宝运营一般要学多久 编辑:程序博客网 时间:2024/05/21 19:07

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>

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这两种,尝试切换,可以看到文件中隐藏的编码,然后删除即可

7.查看输出的测试报告


阅读全文
1 0