jmeter非gui模式修改線程屬性進行性能測試
在使用JMeter進行性能測試自動化時,如果按照平常的非Gui模式就是腳本每次修改參數都需要在gui模式下修改保存之后,然后在非gui模式之后運行,這樣太消耗時間成本,現在有新的方法,JMeter提供了方法可以動態修改屬性
直接在腳本上進行修改即可以了
但是性能測試自動化是以非GUI方式運行的,解決方法如下
1.指定運行多少線程
我們知道JMeter測試計划在運行Sampler之前先加載運行屬性(jmeter.properties,system.properties等),那么我們可以借助屬性來完成。
JMeter提供了方法可以動態修改屬性,在命令行使用 -J 來指定JMeter Properties
(jmeter.bat -help | jmeter.sh -help可以看到幫助),使用__P() 函數來獲取命令中指定的屬性值。
看一下實例:
線程數需要改變,以及持續時間,啟動時間,訪問的目標地址變化了,端口也變化了,那么重新指定用下面的的方法:
JMeter 命令行通過-D來指定System Properties,類似於Jdk中我們用-D來指定一些系統屬性,比如開啟JMX遠程監控。
在JMeter腳本中我們用__property()函數來獲取,比如-Durl=www.baidu.com在測試計划中用${__property(url,,)}來獲取
運行命令如下:
jmeter -JthreadCount=2 -JRanpup=1 -Jcycle=2 -Jtime=40 -Durl=www.baidu.com -Dport=80 -n -t baidu.jmx -l baidu.jtl
說明:
threadCount=2為baidu.jmx測試計划要指定的線程數
-Jcycle=2為baidu,jmx測試計划要指定的每個線程的迭代次數
-JRanpup=1為baidu,jmx測試計划要指定的線程啟動時間
在baidu.jmx測試計划中用${__P(threadCount,)}來獲取threadCount的值
${__P(cycle,)}來獲取cycle的值
${__P(time,)}獲取持續時間
${__property(url,,)}獲取服務器ip
運行結果如下