当前位置:   article > 正文

jenkins+jmeter+ant 持续集成_jmeter+ant+jenkins

jmeter+ant+jenkins

熟悉jmeter命令行的使用

要做持续集成,其实是在jenkins中执行命令,我们首先要了解jmeter的命令行的执行方式以及常用参数
1、jmeter命令
-n -t :
-n 表示使用非GUI的方式运行
-t 表示指定jmeter的测试脚本
-l : 表示生成指定的报告文件。一般使用jtl的格式来保存,因为jtl文件可以使用jmeter的任意测试计划来打开。
-e :表示生成html 报告
-o : html报告的输出路径
特别注意使用-e -o 的时候jtl文件必须不存在,文件夹必须是空文件夹

2、修改 jmeter.properties全局配置文件,修改成如下值

jmeter.save.saveservice.output_format=xml
jmeter.save.saveservice.response_data=true
jmeter.save.saveservice.samplerData=true

  • 1
  • 2
  • 3
  • 4

3、将jmeter保存的jmx脚本放到一个目录中,cmd 进入到该目录执行

jmeter -n -t yuxi2.jmx -l result.jtl -e -o html
  • 1

可以生成一个聚合报告一样的报告,但是不详细,没有输入输出信息

通过Ant执行脚本,并且生成html报告

1、下载ant并且解压,解压之后配置bin目录到path路径
官网:https://ant.apache.org/bindownload.cgi
2、配置build.xml
并把build.xml放到和jmx在同一个目录
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="E:\apache-jmeter-5.5" />
    <property name="report.title" value="接口自动化测试" />
    <!-- jmeter生成jtl格式的结果报告的路径--> 
    <property name="jmeter.result.jtl.dir" value="F:\ants\jtl" />
    <!-- jmeter生成html格式的结果报告的路径-->
    <property name="jmeter.result.html.dir" value="F:\ants\html" />
    <!-- 生成的报告的前缀-->  
    <property name="ReportName" value="接口测试详细报告" />
    <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" />
    </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="F:\ants" 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">
        <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-shanhe-me.xsl" >
              <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>
</project>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55

注意:以下地址修改为自己本地的路径

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/416666
推荐阅读
相关标签