51Testing软件测试论坛
标题:
[求助]关于jmeter +ant 自动化测试的问题
[打印本页]
作者:
whscfan
时间:
2015-3-11 10:36
标题:
[求助]关于jmeter +ant 自动化测试的问题
我在使用ant+jmeter做自动化测试遇到以下问题:
每次调用ant 执行任务,任务只是执行一个thread,我如何配置build,让指定的任务执行指定的thread数呢?
build文件部分配置如下:
<target name="run">
<echo>funcMode = ${funcMode}</echo>
<delete file="${testpath}/${test}.html"/>
<delete file="${testpath}/${test}.jtl"/>
<jmeter
jmeterhome="${jmeter.home}"
testplan ="${testpath}/${test}.jmx"
resultlog="${testpath}/${test}.jtl">
<!--
<jvmarg value="-Xincgc"/>
<jvmarg value="-Xmx128m"/>
<jvmarg value="-Dproperty=value"/>
<jmeterarg value="-qextra.properties"/>
-->
<property name="request.threads" value="10"/>
<property name="request.loop" value="1"/>
<!-- Force suitable defaults -->
<property name="jmeter.save.saveservice.output_format" value="xml"/>
<property name="jmeter.save.saveservice.assertion_results" value="all"/>
<property name="jmeter.save.saveservice.bytes" value="true"/>
<property name="file_format.testlog" value="${format}"/>
<property name="jmeter.save.saveservice.text" value="true"/>
<property name="jmeter.save.saveservice.response_data.on_error" value="${funcMode}"/>
</jmeter>
</target>
作者:
土土的豆豆
时间:
2015-3-11 13:04
jmeterplan后面没有‘s’ ?
我记得以前配置是jmeterplans 也许我记错了
另外,你确定jmx是多脚本的哦?
应该会逐个多线程run的 无需特别设置呀
作者:
heavily_51t
时间:
2015-3-11 16:16
不懂,帮LZ顶一下
作者:
whscfan
时间:
2015-3-13 00:32
土土的豆豆 发表于 2015-3-11 13:04
jmeterplan后面没有‘s’ ?
我记得以前配置是jmeterplans 也许我记错了
另外,你确定jmx是多脚本的哦?
...
我已经在谷歌大师下解决了。你建立好用例保存的jmx是不会多线程的,除非你保存前设置了threads,但是那样不灵活。为了实现一个脚本,多个场景的复用。
所以,这里就要使用到了参数化的东西了。
threads 和loop 和相关你想设置的地方设置好参数,然后在ant的build.xml中的jmeter字段配置好property。比如我这样设置:
线程组中的threads这里设置${__property(run.threads,,1)} ----表示从run.threads读取参数,默认值为1
而在ant的build.xml中这样设置(加在 <jmeter 加在这里></jmeter>):
<property name="run.threads" value="100"/> ---表示启动100个线程
如果你想更灵活,使用ant的参数吧,上面的改成这样:
<property name="run.threads" value="${thread}"/>
在ant的启动命令中加入:-Dthread 100 表示参数
run任务配置完整如下: <target name="run">
<echo>funcMode = ${funcMode}</echo>
<delete file="${testpath}/${test}.html"/>
<delete file="${testpath}/${test}.jtl"/>
<jmeter
jmeterhome="${jmeter.home}"
testplan ="${testpath}/${test}.jmx"
resultlog="${testpath}/${test}.jtl">
<!--
<jvmarg value="-Xincgc"/>
<jvmarg value="-Xmx128m"/>
<jvmarg value="-Dproperty=value"/>
<jmeterarg value="-qextra.properties"/>
-->
<property name="run.threads" value="${thread}"/>
<property name="request.loop" value="1"/>
<!-- Force suitable defaults -->
<property name="jmeter.save.saveservice.output_format" value="xml"/>
<property name="jmeter.save.saveservice.assertion_results" value="all"/>
<property name="jmeter.save.saveservice.bytes" value="true"/>
<property name="file_format.testlog" value="${format}"/>
<property name="jmeter.save.saveservice.text" value="true"/>
<property name="jmeter.save.saveservice.response_data.on_error" value="${funcMode}"/>
</jmeter>
</target>
ant启动完整命令:
ant -f build.xml run -Dthread 100
作者:
ylhkaixin
时间:
2016-8-16 17:11
那失败的结果怎么发邮件出来,有没有实现呢?
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2