仕事でJmeterを使うことがあるのですがその時に事前準備としてバッチ(シェル)を実行したかったのでOS Process Samplerを使ってみました。
OS Process Samplerの設定
詳細は https://jmeter.apache.org/usermanual/component_reference.html#OS_Process_Sampler を参照
Command | 実行したいコマンドが記述されたファイルを絶対パスで指定。OS Process Samplerではこの項目だけ必須。 |
Working directory | Commandで指定したファイルを実行するディレクトリを絶対パスで指定する。 cd [ Working directory ]してから [ Command ]を実行するイメージ。 |
Command Parameters | コマンドに渡すパラメータを指定する。 |
Environment Parameters | 環境変数を指定する。 |
Standard input (stdin) | 標準入力したい場合はファイルパスを指定する。 絶対パスが無難。 ファイルが存在しない場合はエラーとなる。 |
Standard output (stdout) | 標準出力されたものをログ出力したい場合はファイルパスを指定する。絶対パスが無難。ファイルが存在しない場合はファイルが作成される。存在する場合は上書きされるため注意。 |
Standard error (stderr) | 標準エラー出力されたものをログ出力したい場合はファイルパスを指定する。絶対パスが無難。ファイルが存在しない場合はファイルが作成される。存在する場合は上書きされるため注意。 |
Check Return Code | コマンドの戻り値を確認する場合はチェックを入れる。 |
Expected Return Code | コマンドの期待する戻り値を入力する。期待値と異なる場合は500エラーとなる。 |
Timeout | タイムアウトを指定する。単位はミリ秒。 |
お試し実行
バッチファイルをお試しで実行してみます。実行する内容は以下です。
set /p inputmsg1="input string > "
echo "print msg %1 %inputmsg1%"
dir
exit 1
サンプラーの設定はこちらです。
Standard input (stdin) には “abc” という文字列のみ記載されています。
実行するとこんな感じになります。
Standard output (stdout)に指定したログファイルの中身がこちら
C:\gomibako\bat>set /p inputmsg1="input string > "
input string >
C:\gomibako\bat>echo "print msg parameter-1 abc"
"print msg parameter-1 abc"
C:\gomibako\bat>dir
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は 8279-6D42 です
C:\gomibako\bat のディレクトリ
2021/11/18 18:20 <DIR> .
2021/11/18 18:20 <DIR> ..
2021/11/19 09:38 0 log.txt
2021/11/19 09:34 3 新しいテキスト ドキュメント.txt
2 個のファイル 3 バイト
2 個のディレクトリ 72,926,748,672 バイトの空き領域
C:\gomibako\bat>exit 1
以上です。
コメント