我是JMeter和Ant的新手,我的网络搜索效果不佳,所以我在这里提出一个问题:是否可以使用Ant启动和停止JMeter脚本?
以下是我要做的事情: 我有一个JMeter测试计划,其中包含一个循环,用于模拟页面刷新后不确定时间内坐在页面上的用户(或多个用户)。在JMeter GUI模式下,我可以安排线程组在指定时间启动用户并在指定的持续时间内继续这样做。我理想地运行此脚本大约45分钟左右,停止脚本并分析结果。我想自动运行这个脚本,Ant似乎是要走的路。在运行脚本时,我没有看到指定开始时间或持续时间的适当属性。这样的事情存在吗?有合适的解决方法吗?我们非常感谢您提供的任何帮助。
答案 0 :(得分:2)
有JMeter Ant Task可用。您可以根据文档使用此任务启动测试计划。
对于45分钟的测试持续时间,我会选择以下内容:
<jmeter
jmeterhome="/path/to/your/JMeter/installation"
testplan="/path/to/your/test/plan.jmx"
resultlog="/path/to/your/test/results.jtl">
<property name="duration" value="2700"/>
</jmeter>
并将${__P(duration,)}
放入线程组计划程序&#34;持续时间&#34;输入字段
一旦你启动Ant JMeter就会接受#34;持续时间&#34;属性并要求线程在2700秒(45分钟)过后停止。请记住,在大量线程关闭的情况下,可能不会立即关闭进程,因为JMeter可能需要一些时间来正常关闭所有测试线程。
有关使用JMeter Ant Task的详细说明以及在非GUI模式下运行测试的更多选项,请参阅5 Ways To Launch a JMeter Test without Using the JMeter GUI指南。
答案 1 :(得分:0)
根据你所写的内容,我认为你想要从非gui模式安排测试并控制参数。我不确定蚂蚁,但我们有解决方法。
为此您可以使用JMeter非gui功能
要指定参数,您可以通过在命令行中将它们指定为属性local / global来覆盖现有参数,
-D[prop_name]=[value] - defines a java system property value
-J[prop name]=[value] - defines a local JMeter property
并在测试计划中使用这些属性,以便您可以在运行测试时传递值一段特定的时间或无限期,并使用stoptest.bat / .sh在两者之间停止测试(就像您在45分钟后所说的那样)
示例,
在Thread Group set Number of Threads to ${__property(users,,)}
中,并从命令行指定为,
jmeter -Jusers=50 -n -t Test_Plan.jmx
记住这个本地财产,而不是全球财产。
对于使用属性和非gui模式,您可以参考此Jmeter Manual