LoginSignup
3
6

More than 3 years have passed since last update.

Apache JMeter Tips

Last updated at Posted at 2018-12-19

JMeter の tips をまとめます。随時追加。

環境ごとに投げ先を切り替えたい

設定エレメント > ユーザー定義変数 を追加し、環境ごとに変数を定義しておく。使う環境以外は無効化して使う。

スクリーンショット 2018-12-20 6.45.55.png

${変数名} で値を使用できる。

スクリーンショット 2018-12-20 6.38.51.png

ベーシック認証を突破したい

設定エレメント > HTTP 認証マネージャ を追加し、基底 URL に対するユーザ名とパスワードをセットする。

スクリーンショット 2018-12-20 6.45.32.png

セッションを維持したい

設定エレメント > HTTP クッキーマネージャ を追加する。

スクリーンショット 2018-12-20 6.57.51.png

レスポンスから値を取得して利用したい

後処理 > 正規表現抽出 を追加する。以下はレスポンスヘッダに含まれているトークンを抽出している例。

スクリーンショット 2018-12-20 6.52.12.png

${参照名} で値を使用できる。

CSV ファイルを使ってリクエストごとに変数を変えたい

設定エレメント > CSV Data Set Config を追加。

スクリーンショット 2018-12-20 7.01.09.png

${変数名} で値を使用できる。

ランダム数列を使いたい

${__RandomString(10, ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789, val)} などとすれば良い。

スクリーンショット 2018-12-20 7.11.20.png

  • 第一引数:文字列長
  • 第二引数:使用する文字
  • 第三引数:参照名(${参照名}とすれば、後続処理で値を参照できる)

CLI から実行したい

./apache-jmeter-5.4/bin/jmeter -n -t ./script.jmx -l ./log.jtl -e -o ./reports --forceDeleteResultFile

-n: CLI モード
-t ./script.jmx: スクリプトファイルの指定
-l ./log.jtl: ログの出力先を指定
-e -o ./reports: 結果レポートを html で出力してくれる
--forceDeleteResultFile: 既に結果ファイルがある場合、上書きする

詳細

CLI 実行結果をもとに、制御したい(パイプラインを失敗させるなど)

前項で結果レポートを出力していると、statistics.json が生成される。
エラーカウントやスループットなどが取得できるので、これを読み取って制御すれば良い。

jsonData=`cat ./reports/statistics.json`
errorCount=$(echo $jsonData | jq -r ".Total.errorCount")

if test $errorCount -ne 0 ; then
  echo "something wrong."
fi
3
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
6