我正在尝试将JMeter与ant集成。下面是脚本。由于某种原因,它没有执行任何目标。运行脚本时,我没有收到任何错误。即使是简单的清洁操作也不会被执行。我有什么遗失的吗?
<project name="Performance Testing for my project" basedir="C:\apache-ant-1.9.2" >
<target name="clean" >
<delete includeemptydirs="true">
<fileset dir="${basedir}/Results/" excludes="**/PerformanceCharts.html"/>
</delete>
</target>
<target name="run-jmeter" depends="clean" >
<taskdef name="jmeter" classpath="${basedir}\apache-jmeter-2.10\extras\ant-jmeter-1.1.1.jar"
classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/>
<echo message="Hello, world"/>
<jmeter
jmeterhome="${basedir}\apache-jmeter-2.10"
resultlog="${basedir}\Results\JMeterResults.xml">
<testplans dir="${basedir}\TestPlan" includes="*.jmx"/>
<property name="request.threads" value="1"/>
<property name="request.loop" value="10"/>
</jmeter>
</target>
<target name="create-reports" depends="run-jmeter">
<xslt
in="${basedir}\Results\JMeterResults.xml"
out="${basedir}\Results\JMeterResults.html"
style="${basedir}\apache-jmeter-2.10\extras\jmeter-results-detail-report.xsl"/>
</target>
<target name="main" depends="clean,run-jmeter,create-reports"/>
</project>
我项目中的目录结构是
C:\apache-ant-1.9.2
|
------apache-jmeter-2.10
|
------Results
|
------TestPlan
“basedir”我试过“。”和“C:\ apache-ant-1.9.2”
我在一个8窗口的盒子上运行它。
这是我运行脚本时得到的结果
C:\apache-ant-1.9.2\bin>ant -buildfile jmeterRun.xml
Buildfile: C:\apache-ant-1.9.2\bin\jmeterRun.xml
BUILD SUCCESSFUL
Total time: 0 seconds
答案 0 :(得分:2)
您可以使用以下xml内容:
<?xml version="1.0" encoding="UTF-8"?>
<project name="performance-tests" default="run-performance-tests" basedir=".">
<property name="jmeter.home" value="${basedir}/apache-jmeter-2.10" />
<path id="jmeter.path">
<fileset dir="D:\apache-jmeter-2.10\extras" includes="\*.jar" />
</path>
<target name="run-performance-tests">
<delete dir="${basedir}/target" quiet="true" failonerror="false"/>
<mkdir dir="${basedir}/target"/>
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" classpathref="jmeter.path" />
<echo message="Running load tests in testing.xml"/>
<jmeter
jmeterhome="D:\apache-jmeter-2.10"
resultlog="${basedir}/target/JMeterResults.xml">
<jvmarg value="-Xincgc"/>
<jvmarg value="-Xmx512m"/>
<jvmarg value="-Dproperty=value"/>
<property name="request.threads" value="5"/>
<property name="request.loop" value="50"/>
<property name="jmeter.save.saveservice.assertion_results" value="all"/>
<property name="jmeter.save.saveservice.output_format" value="xml"/>
<testplans dir="${basedir}/TestPlan" includes="RiponAlWasim_One.jmx"/>
</jmeter>
<xslt in="${basedir}/target/JMeterResults.xml"
out="${basedir}/target/Result_One.html"
style="${basedir}/jmeter-results-detail-report_21.xsl"/>
</target>
</project>
答案 1 :(得分:0)
您需要指定目标,因为您的项目没有默认目标。
试试跑步
来自命令行的ant main
然后将default="main"
添加到<project>
元素,这样您就不必指定它了。
答案 2 :(得分:0)
它就像一个魅力,我很欣赏构建文件的清晰度,只需几分钟就可以看到我的测试正在运行..
<?xml version="1.0" encoding="UTF-8"?>
<project name="performance-tests" default="run-performance-tests" basedir=".">
<property name="jmeter.home" value="${basedir}/apache-jmeter-2.9" />
<path id="jmeter.path">
<fileset dir="${basedir}/apache-jmeter-2.9/extras" includes="\*.jar" />
</path>
<target name="run-performance-tests">
<delete dir="${basedir}/target" quiet="true" failonerror="false"/>
<mkdir dir="${basedir}/target"/>
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" classpathref="jmeter.path" />
<echo message="Running load tests in testing.xml"/>
<jmeter
jmeterhome="${basedir}/apache-jmeter-2.9"
resultlog="${basedir}/target/JMeterResults.xml">
<jvmarg value="-Xincgc"/>
<jvmarg value="-Xmx512m"/>
<jvmarg value="-Dproperty=value"/>
<property name="jmeter.save.saveservice.assertion_results" value="all"/>
<property name="jmeter.save.saveservice.output_format" value="xml"/>
<testplans dir="${basedir}/TestPlan" includes="GetSS4.jmx"/>
</jmeter>
<xslt in="${basedir}/target/JMeterResults.xml"
out="${basedir}/target/Result_One.html"
style="${basedir}/jmeter-results-detail-report_21.xsl"/>
</target>
</project>
我对构建文件进行了一些简单的更改,其中硬编码文件路径被动态值替换。
但是如何从结果中获取TPS值,我只看到平均时间和成功请求的百分比。