リファラを動的に設定する方法
2020/01/27
リクエストヘッダに記録されているリファラを動的に設定する方法をまとめます。
記録コントローラーでシナリオを記録すると、リファラは固定の値が設定されます。
その場合、URLに動的に変更になる文字列が入ったり、シナリオ遷移順を変更したときに、不適切なものが設定されてしまいます。
リファラはアクセスログに記載される情報なので、適切な情報が記載されていないと、ログを解析するときに困ったことになります。
また、リファラにログインユーザIDなどのデバッグ情報を設定してあげることで、システムに大きな影響なくアクセスログの情報でエラーの調査等ができるようになります。
リファラを動的に設定する方法
正規表現抽出を設定
スレッドグループの直下に正規表現抽出を設定します。
設定内容は次の通りです。
項目 | 設定値 |
---|---|
Field to Check | URL |
参照名 | Referer |
正規表現 | (.*) |
テンプレート | $1$ |
一致番号 | 1 |
ヘッダマネージャーへ登録
スレッドグループ直下のヘッダマネージャーへ、リファラの登録を行います。
項目 | 設定値 |
---|---|
名前 | ${Referer} |
各リクエストのヘッダ情報からリファラを削除
上記で設定したリファラを有効にするために、各リクエストのヘッダマネージャーからリファラを削除します。
デバッグ情報の設定方法
ユーザーのログイン情報や動的に変更させる値等をリファラに出力させることも可能です。
${debug}という変数を定義し、そこへ出力したい情報をいれていきます。
ヘッダマネージャーの設定は次のように行います。
項目 | 設定値 |
---|---|
名前 | ${Referer}?${debug} |
BeanShellPostProcessorで、debugへ出力したい情報をいれていきます。
1 2 3 4 |
String debug = vars.get("debug"); String value1 = vars.get("value1"); debug = debug + "&value1=" + value1; vars.put("debug",debug); |
こうすることで、アクセスログのリファラ部分へデバッグ情報を出力することが可能です。