• ant 执行jmeter脚本


    • 环境准备

    1、jdk版本:java version "1.8.0_201"

    2、jmeter版本:5.0

    3、ant版本:Apache Ant(TM) version 1.10.5

    版本都是对应的,看似一切美好;

    4、将 jmeter的extras目录中ant-jmeter-1.1.1.jar包拷贝至ant安装目录下的lib目录中

    5、修改Jmeter的bin目录下jmeter.properties文件的配置:jmeter.save.saveservice.output_format=xml  

    • 脚本准备

    导出的脚本为baidu.jmx,并把结果模板文件拷过来,配置build.xml 

    命令行中,切换到当前目录,执行run命令就可以了;

    不过出问题了,执行run后,走到输出jml文件的时候就提示遇到严重问题 java se停止运行,查了不少资料,之前的build是从jmeter里拷过来的,后来准备放弃了,想再试下会不会是build文件的问题,就从网上考了一个下来,没想到还真是build文件的问题:

    <?xml version="1.0" encoding="UTF-8"?>  
      
    <project name="ant-jmeter-test" default="run" basedir=".">  
          
        <tstamp>  
            <format property="time" pattern="yyyyMMddhhmm" />  
        </tstamp>
        <!-- jmeter中extras路径 -->
        <property name="basedirectory" value="C:UsersadminDesktopjmeterapache-jmeter-5.0apache-jmeter-5.0extras" />  
        <!-- 需要改成自己本地的 Jmeter 目录-->    
        <property name="jmeter.home" value="C:UsersadminDesktopjmeterapache-jmeter-5.0apache-jmeter-5.0" />  
        <!-- jmeter生成jtl格式的结果报告的路径-->   
        <property name="jmeter.result.jtl.dir" value="C:UsersadminDesktopjmeterapache-jmeter-5.0demoant
    eport" />  
        <!-- jmeter生成html格式的结果报告的路径-->  
        <property name="jmeter.result.html.dir" value="C:UsersadminDesktopjmeterapache-jmeter-5.0demoant
    eport" />  
        <!-- Name of test (without .jmx) -->  
        <property name="test" value="Test"/>  
        <!-- 生成的报告的前缀-->    
        <property name="ReportName" value="TestReport" />  
        <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${test}.jtl" />  
        <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${test}.html" />  
        <property name="jmeter.save.saveservice.output_format" value="xml"/> 
        <path id="xslt.classpath">  
            <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>  
            <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>  
        </path>  
        
        <!-- 运行了两个标签中的内容-->  
        <target name="run">  
            <!--测试脚本标签对应下面的jMeter脚本-->
            <antcall target="test" /> 
            <!--测试脚本标签对应下面的jMeter脚本后产生测试报告的--> 
            <antcall target="report" />  
        </target>  
         
        <!--JMeter脚本执行,name属性值和上面name中标签下的<antcall target="test" /> target值对应-->
        <target name="test">  
     
        <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />   
        <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">  
                 <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本--> 
                 <!-- 此处看到别人的includes="*.jmx"我没试过,只用系统自带的一个脚本Test.jmx脚本,式了下可以用-->  
                <testplans dir="C:UsersadminDesktopjmeterapache-jmeter-5.0demoant" includes="baidu.jmx" />  
            </jmeter>  
        </target>  
     
         <!--JMeter脚本执行,name属性值和上面name中标签下的<antcall target="report" /> target值对应-->     
        <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="C:UsersadminDesktopjmeterapache-jmeter-5.0demoantjmeter-results-detail-report_21.xsl"> 
                  <!-- jmeter报告模板-->  
                  <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>
    • 运行,生产的报告如下

  • 相关阅读:
    PhpStorm函数注释的设置
    thinkphp5 返回数组提示variable type error: array
    js获取json对象中的key和value,并组成新数组
    PHP生成随机字符串与唯一字符串
    yii2-admin扩展自定义目录
    PHP7.3发布啦
    服务器环境从PHP5升级到PHP7
    亲测能用的mysqli类,挺好用的
    PHP必用代码片段
    git flow的使用
  • 原文地址:https://www.cnblogs.com/shilimaixiang/p/10465001.html
Copyright © 2020-2023  润新知