[英]JMeter - Running preprocessor when called from command line?
我是JMeter的新手。
我的團隊擁有我們通常通過GUI運行的現有JMeter測試計划。 我正在嘗試從命令行運行它。
在我們的測試計划中,我們有一堆在TestPlan級別聲明的變量。 這些變量包含用於設置不同環境(例如,test,prod,dev)的信息。 直接在TestPlan之下的是JSR223 PreProcessor,它基本上采用變量來顯示您要在哪個環境中運行,並將主機名,端口等設置為該環境的值。
當我使用GUI運行測試時,它可以在所選環境下完美運行。 但是,當我使用以下命令在命令行中運行它時:
jmeter -n -t testName.jmx -l Results.csv
它會嘗試在默認環境下運行,並且不會將其更改為我想要的環境。 我嘗試添加-Jenv=dev
,但這似乎沒有任何區別。
從命令行調用預處理器時是否不運行? 可能還有其他我想念的東西嗎? 鑒於我在這里的經驗不足,我什至不十分確定如何分辨問題所在。
非常感謝!
很難斷定jmeter腳本中的確切問題是什么。 查看問題陳述,我可以感覺到您需要找到從命令行傳遞變量並在腳本中對其進行處理的正確方法。
從命令行傳遞變量並在jmeter中對其進行處理的示例如下所示:
env is declared as ${__P(env)}
${env}
變量重用該值[請注意,它是一個變量而不是屬性,因為我們在用戶定義的變量中聲明了這種方式]。 String valuePassed = vars.get("env"); log.info("Parameter passed from command line: " + valuePassed);
使用以下命令從命令行運行:
jmeter -n -t <>.jmx -Jenv=Prod -j sample.log
結果顯示在日志文件中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.