zoukankan      html  css  js  c++  java
  • 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>
    • 运行,生产的报告如下

  • 相关阅读:
    雅虎笔试&面试题
    有道面试
    IBM笔试&面试
    20140916~17华宇笔试&面试
    操作系统知识梳理3-存储管理
    操作系统知识梳理2-哲学家就餐问题
    操作系统知识梳理1-概述及进程管理
    阿里面试总结
    2012-2015网易有道笔试题总结
    PostgresSQL在cmd中使用psql操作数据库
  • 原文地址:https://www.cnblogs.com/shilimaixiang/p/10465001.html
Copyright © 2011-2022 走看看