【Jmeter】ユーザー定義変数を変数で設定する方法

June 2, 2015

Web アプリの負荷試験ツールの定番 Apache Jmeter を少しだけ触る機会があったのでメモです。

How to Set a Variable within a Variable in Apache JMeter

設定エレメント(Config Element)のユーザー定義変数(User Defined Variables)にユーザー定義変数を使う方法です。また、設定エレメントのカウント(Counter)をユーザー定義変数に使う方法もメモしておきます。他にも応用できるかも。

尚、使用した Jmeter は 2015年 6月 1日現在の最新版、Apache JMeter 2.13 です。

ユーザー定義変数の値に変数を使う

やりたいことは単純です。

ScreenShot
名前
aaa alpha
bbb beta
ccc ${aaa}@${bbb}.example.com

上記 ccc のように、ユーザー定義変数の値に変数を使いたい。でも この設定方法では うまくいきません。

ScreenShot
ccc=${aaa}@${bbb}.example.com

この通り。Debug Sampler で確認すると、ccc 内の変数が展開されていません。この解決策は簡単で、ccc の定義を、使用する変数とは別のユーザー定義変数エレメントで設定すれば OK です。

修正後

ScreenShot
ScreenShot
ccc=alpha@beta.example.com

ユーザー定義変数の値にカウンタ エレメントの変数を使う

次のように定義したカウンタ エレメントの参照名 counter 変数をユーザー定義変数の値に使いたい場合です。

ScreenShot
ScreenShot
名前
ddd ${aaa}${counter}@${bbb}.example.com

上記 ddd ですが、記事にするからには この設定方法では うまくいきません。

ScreenShot
ddd=alpha${counter}@beta.example.com

このように残念な結果。counter 変数が展開されていません。この解決には、BeanShell サンプラーで変数を定義します

BeanShell サンプラーで変数を定義する方法

vars.put("eee", "${aaa}${counter}@${bbb}.example.com");
ScreenShot

結果

ScreenShot
eee=alpha001@beta.example.com

(おまけ)最近の Jmeter 事情と筆者のハマりポイント

  • zip の解凍に Lhaplus を使うと気付きにくいが実は失敗している
    (Windows 7 標準の zip 展開なら大丈夫)
  • 起動は bin 配下の jmeter.bat を実行するだけ(Java を事前にインストールしておく必要あり)
  • https は追加コンポーネント無しでアクセス可能

どなたかのお役に立つことを願いつつ 以上です。

One thought on “【Jmeter】ユーザー定義変数を変数で設定する方法

コメントを残す

メールアドレスが公開されることはありません。