在使用jmeter進行效能測試自動化時,可能會有如下需求:
1.指定執行多少執行緒,指定執行多少次;
2.訪問的目標位址變化了,埠也變化了,需要重新指定。
上面的需求如果有gui方式執行,這都不是問題,直接在指令碼上進行修改即可以了。
但是效能測試自動化是以非gui方式執行的,如果要修改測試計畫就比較麻煩了。
下面來說說如何簡單的搞定這些問題:
1.指定執行多少執行緒
我們知道jmeter測試計畫在執行sampler之前先載入執行屬性(jmeter.properties,system.properties等),那麼我們可以借助屬性來完成。
當然了,我們也不會傻到去修改這些配置檔案,這多麻煩。jmeter提供了方法可以動態修改屬性,在命令列使用 -j 來指定jmeter properties
(jmeter.bat -help | jmeter.sh -help可以看到幫助),使用__p() 函式來獲取命令中指定的屬性值。
看一下例項:
threadcount=2為baidu.jmx測試計畫要指定的執行緒數
-jcycle=2為baidu,jmx測試計畫要指定的每個執行緒的迭代次數
在baidu.jmx測試計畫中用$來獲取threadcount的值;$來獲取cycle的值。
執行效果如下:
jmeter 命令列通過-d來指定system properties,類似於jdk中我們用-d來指定一些系統屬性,比如開啟jmx遠端監控。
在jmeter指令碼中我們用__property()函式來獲取,比如-durl=www.baidu.com在測試計畫中用$來獲取
執行命令如下:
指令碼如下:
如上使用-j -d在執行前動態設定屬性,可以用來控制測試計畫的執行,在非gui方式執行時還是比較方便的。
自然效能測試自動化時我們可以利用這些命令列引數來動態指定屬性,不用再修改指令碼了
jMeter非GUI方式執行時動態設定執行緒組及傳參
在使用jmeter進行效能測試自動化時,可能會有如下需求 1.指定執行多少執行緒,指定執行多少次 2.訪問的目標位址變化了,埠也變化了,需要重新指定。上面的需求如果有gui方式執行,這都不是問題,直接在指令碼上進行修改即可以了。但是效能測試自動化是以非gui方式執行的,如果要修改測試計畫就比較麻煩了...
java執行時異常和非執行時異常的區別
建議使用執行時異常和編譯時異常叫法,便於區分和理解 非執行時異常是什麼異常?很懵逼 編譯時異常 程式沒有通過編譯器的編譯,必須處理掉這個異常程式才能正常執行,比如檔案路徑找不到異常,類找不到異常,io異常,必須用try catch或是throwable處理掉才能編譯通過 可以理解為一種特殊的語法錯誤...
Tokio 非阻塞關閉執行時
參考 shutdown background方法可以立即關閉執行時,不會產生阻塞。通常在另乙個執行時中呼叫,避免阻塞。由於shutdown background不等待任務結束,可能會產生資源洩露。use std use tokio runtime runtime fn main io result ...