码迷,mamicode.com
首页 > 其他好文 > 详细

JMeter——JMeter之ant运行脚本

时间:2020-05-25 19:31:53      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:原来   tput   clu   image   xsl   创建   sage   定义   一个   

使用win环境演示

环境准备

JAVA     JMeter   ANT   

下载并配置环境变量

都是JAVA开发的,所以此方案具有良好的跨平台

在JMeter目录下,新建result和script文件夹,用来存放脚本和测试结果

技术图片

 

 

 

配置H:\apache-jmeter-5.2.1\extras\build.xml

<?xml version="1.0"?>
<project name="ant-jmeter" default="all">
<description>
</description>
<!-- Jmeter目录,与%JMETER_HOME%指向同一个目录-->
<!-- ${user.dir},当前目录,在次指向%JMETER_HOME%-->
<property name="jmeter.home" value="${user.dir}"/>
<!-- script目录:/Users/wuxi/Documents/apache-jmeter-3.2/script-->
<property name="script.dir" value="${user.dir}/script"/>
<!-- result目录:/Users/wuxi/Documents/apache-jmeter-3.2/result-->
<property name="result.dir" value="${user.dir}/result"/>

<property name="report.title" value="Test Summary Report"/>
<property name="test" value="Test"/>
<property name="show-data" value="n"/>
<property name="format" value="2.1"/>

<condition property="style_version" value="">
<equals arg1="${format}" arg2="2.0"/>
</condition>

<condition property="style_version" value="_21">
<equals arg1="${format}" arg2="2.1"/>
</condition>

<condition property="funcMode">
<equals arg1="${show-data}" arg2="y"/>
</condition>

<condition property="funcMode" value="false">
<not>
<equals arg1="${show-data}" arg2="y"/>
</not>
</condition>

<path id="jmeter.classpath">
<fileset dir="${basedir}">
<include name="ant-jmeter*.jar"/>
</fileset>
</path>
<taskdef
name="jmeter"
classpathref="jmeter.classpath"
classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/>
<target name="all" depends="run,report"/>
<target name="run">
<echo>funcMode = ${funcMode}</echo>
<!--删除原来的结果-->
<delete file="${result.dir}/${test}.html"/>
<delete file="${result.dir}/${test}.jtl"/>
<jmeter
jmeterhome="${jmeter.home}"
<!--加载运行时设置,设置配置文件-->
jmeterproperties= "${user.dir}/bin/jmeter.properties"
runremote="false"
resultlog="${result.dir}/${test}.jtl">
<!--脚本目录和要执行的脚本-->
<testplans dir="${script.dir}" includes="登录.jmx" />
<!--指定测试输出格式,在此指定xml格式,也可以csv-->
<!--暂且指定xml,后续会变成文本格式-->
<property name="jmeter.save.saveservice.output_format" value="xml"/>
<!--是否记录错误信息-->
<property name="jmeter.save.saveservice.response_data.on_error" value="${funcMode}"/>
</jmeter>
</target>
<!--定义依赖包目录-->
<property name="lib.dir" value="${jmeter.home}/lib"/>

<!-- Use xalan copy from JMeter lib directory to ensure consistent processing with Java 1.4+ -->
<path id="xslt.classpath">
<fileset dir="${lib.dir}" includes="xalan*.jar"/>
<fileset dir="${lib.dir}" includes="serializer*.jar"/>
</path>

<!--定义格式-->
<!--定义report任务,此任务依赖于xslt-report,copy-images这两个任务-->
<!--xslt-report是使用xml文件转换成html格式来显示-->
<!--copy-images用来copy图片,xslt模板中的图片有copy-images任务copy到报告-->
<target name="report" depends="xslt-report,copy-images">
<echo>Report generated at ${report.datestamp}</echo>
</target>

<target name="xslt-report" depends="_message_xalan">
<tstamp><format property="report.datestamp" pattern="yyyy/MM/dd HH:mm"/></tstamp>
<xslt
classpathref="xslt.classpath"
force="true"
in="${result.dir}/${test}.jtl"
out="${result.dir}/${test}.html"

style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">

<param name="showData" expression="${show-data}"/>
<param name="titleReport" expression="${report.title}"/>
<param name="dateReport" expression="${report.datestamp}"/>
</xslt>
</target>
<target name="copy-images" depends="verify-images" unless="samepath">
<copy file ="${jmeter.home}/extras/expand.jpg" tofile="${result.dir}/expand.jpg" />
<copy file ="${jmeter.home}/extras/collapse.jpg" tofile="${result.dir}/collapse.jpg" />
</target>

<!--判断是否相等-->
<target name="verify-images">
<condition property="samepath">
<equals arg1="${jmeter.home}" arg2="${basedir}"/>
</condition>
</target>

<condition property="xalan.present">
<and>
<available classpathref="xslt.classpath" classname="org.apache.xalan.processor.TransformerFactoryImpl"/>
<available classpathref="xslt.classpath" classname="org.apache.xml.serializer.ExtendedContentHandler"/>
</and>
</condition>

<target name="_message_xalan" unless="xalan.present">
<echo>Cannot find all xalan and/or serialiser jars</echo>
<echo>The XSLT formatting may not work correctly.</echo>
<echo>Check you have xalan and serializer jars in ${lib.dir}</echo>
</target>


</project>

 

在JMeter目录下创建一个run.bat文件。写入

%ANT_HOME%\bin\ant -f %JMETER_HOME%\extras\build.xml

运行run.bat

技术图片

 

 

 

 

 

 查看测试报告

技术图片

 

JMeter——JMeter之ant运行脚本

标签:原来   tput   clu   image   xsl   创建   sage   定义   一个   

原文地址:https://www.cnblogs.com/l7planet/p/12958282.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!