Jmeter+ant+jenkin实现接口自动化

一、所需工具:

  下载地址

  1、JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html

  2、Jmeter:http://jmeter.apache.org/download_jmeter.cgi

  3、Ant:http://ant.apache.org/bindownload.cgi

  4、Jenkins:http://jenkins-ci.org/

二、脚本准别

  环境变量和系统配置在这里不做过多的介绍

  需要写好jmeter的.jmx脚本放至一个新建的路径D:\JmeterTest\Test.jmx

  配置ant,在该路径下面新建build.xml

  

<?xml version="1.0" encoding="UTF-8"?>

<project name="ant-jmeter-test" default="run" basedir=".">
    <tstamp>
        <format property="time" pattern="yyyyMMddhhmm" />
    </tstamp>

    <property environment="env"/>
    <property name="ReportName" value="TestReport" />
    <!-- 需要改成自己本地的 Jmeter 目录--> 
    <property name="jmeter.home" value="D:\B_TOOLS\apache-jmeter-2.13" />
    <!-- jmeter生成jtl、html格式的结果报告的路径(偶尔会出现读取不到相应html路径这里可以写死)--> 
    <property name="jmeter.result.jtl.dir" value="D:\JmeterTest\resultLog\jtl" />
    <!-- jmeter生成html格式的结果报告的路径-->
    <property name="jmeter.result.html.dir" value="D:\JmeterTest\resultLog\html" /> <!-- 生成的报告的前缀 -->
    <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"> <echo message="start..."/> <antcall target="clean" /> <antcall target="test" /> <antcall target="report" /> </target> <target name="clean"> <mkdir dir="${env.WORKSPACE}/results/${env.BUILD_ID}" /> </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="D:\B_TOOLS\apache-jmeter-2.13\demo" 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.dir}"> <fileset dir="${jmeter.home}/extras"> <include name="collapse.png" /> <include name="expand.png" /> </fileset> </copy> </target> </project>

 

Jmeter配置文件修改:

为什么要修改配置文件

  • jmeter执行结果文件默认保存的不是xml格式,无法转化成html格式
  • jmeter执行结果文件默认有很多执行数据是不保存的,而测试报告需要这些数据
  • 配置文件路径 ${jmeterhome}/bin/jmeter.profile
  • 配置文件修改内容: 修改jtl文件格式
    • 2.7默认实际已是xml,但是在2.7之前的版本还是csv

去掉注释(#),修改csv为xml
添加jtl文件结果参数:

 

根据想要保存的参数修改,若不会可参照后文第三方模板网址给出的参数修改。(后面会提到修改jmeter自带的报告模板,部分数据需要在这里配置进行展示
修改后别忘记去掉注释(#)

 三、配置jenkins

  

 

 新建完成构建ant指向build.xml

然后点击apply保存,运行以后就可以在该路径下面多一个html文件就可以查看运行的接口信息啦!

  

如果出现HTML不显示的问题在系统管理-命令行-System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "") 就可以解决了~

 

posted @ 2017-05-16 17:40  惑丶  阅读(335)  评论(0编辑  收藏  举报