web-dev-qa-db-ja.com

jmeterはコマンドライン変数をjmxに渡します

いくつかのパフォーマンステストを自動化しようとしています。 Jenkinsジョブからサーバーの場所を汎用jmxに渡したいと思います。私は次のようなことをしたいです:

jmeter -n -t foo.jmx -JtestingIP = IP

foo.jmxがtestingIPを取得するようにします。

これを行う適切な方法は何ですか?そのjmeterコマンドを実行すると、変数が保存されたと表示されますが、${testingIP}または${\_\_P(testingIP,)}をjmxに挿入すると、${testingIP}または${\_\_P(testingIP,)}が単なる文字列として解釈されます。

私は何を間違っている/まったくしていないのですか?これも可能ですか?

28
GeorgeFabian

必要なのは、コマンドライン(またはシェル)から-Jオプションを使用してJMeterを起動することだけです。例えば ​​:

-JTestIP = 10.0.0.1

また、スクリプトで値を取得するには、関数_ Pを使用します。

例:

${__P(TestIP)}

それはそれを行う必要があります。

次のようなJMeterプロパティを渡さずにスクリプトを実行する場合は、デフォルト値を設定する必要があります。

$ {__ P(TestIP、1.1.1.1)}

52
Refael

このリンクをご覧ください http://mkbansal.wordpress.com/2012/08/01/jmeter-command-line-script-execution-with-arguments/ 。また、${__P(testingFromCommandLineIP,defaultIP)}などのデフォルト値を指定しようとします。ここで、testingFromCommandLineIP-コマンドラインからテスト計画を実行するときに指定する引数、defaultIP-デフォルト値

11
olyv
  1. Jmeter GUIでJmeterファイル(jmx)を開き、このスクリーンショットのようにパラメーターを追加します。

enter image description hereSaveボタンをクリックします。

  1. 次に、このパラメーターを使用してコマンドを実行します。次に例を示します。

    jmeter -t TestPlan.jmx -Jthreads=10 -Jcount=50 -Jrumpup=5 
    
3
Gavriel Cohen