web-dev-qa-db-ja.com

JMeterの変数内の変数を参照する

私はJMeterで働いています。次のようなユーザー定義変数を使用してテストホストを指定したいと思います。

variable name       value  
localhost           localhost  
test                192.168.0.1
hostname            ${localhost}  

テストを実行すると、ホスト名の値が置き換えられていないことがわかり、明らかにテストは失敗します。プロパティを使用してコマンドラインからホスト名を渡すか、単にホスト名の値を変更できることはわかっています。私が説明したようにそれを行うことは可能ですか?
ありがとう。

19
Carlo

私は自分の問題をなんとか解決できました。ホスト名変数の値を${__evalVar(${localhost})}に変更しましたが、次のエラーが発生しました:

ERRROR jmeter.functions.EvalVarFunction:変数はまだ定義されていません

そこで、サンプラーノードの「ユーザー定義変数」の子ノードにホスト名変数の宣言を移動しました。それはそれを解決しました。

13
Carlo

これを解決するには、hostname = $ {__ eval($ {localhost})}を使用する必要があります
http://jmeter.Apache.org/usermanual/functions.html#__eval
Carlosの回答はevalVarを使用しているため、間違いがあります(担当者のためコメントできません)。これには、引数としてプレーンな文字列が必要です。

これは機能します:$ {__ evalVar(localhost)})
これは機能します:$ {__ eval($ {localhost})}
これは機能しません(現在の回答):$ {__ evalVar($ {localhost})} http://jmeter.Apache.org/usermanual/functions.html#__evalVar

7

新しい新しいバージョン(2.2以降)では、${__V(${...})}/を使用できます。

例:${__V(${SERVER_CONTEXT})}/rest

@Alies Belikが言ったように、

ERRROR jmeter.functions.EvalVarFunction: Variables have not yet been defined

次に、次の他のUDV(ユーザー定義変数)ノードで2番目の変数を定義します。

0
manikanta