Cookieマネージャーを追加することで、システムから割り当てられたCookie情報を自動的に保存することができます。しかしながら、JMeterから明示的にCookie情報を割り当てることが出来ません。
この記事では、明示的にCookie情報を設定する方法を説明します。
想定シチュエーションと課題
「特定の情報がCookieに入っていることが前提」のシステムの負荷テストをする場合やWebAPIのテストをする場合、明示的にCookie情報を設定する必要があります。
Cookieマネージャーへの設定は初期値設定のみとなるので、シナリオ途中でCookie情報を変更することが出来ません。
BeanShellPreProcessorを使って設定
シナリオ途中で明示的にCookie情報を設定したい場合は、BeanShellPreProcessorを使って設定することができます。
import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;
// samplerからCookieManagerを取得
CookieManager cm = sampler.getCookieManager();
// Cookieを生成
String domain="hogehoge.com";
String auth_token="token_token_token";
Cookie cookie_token = new Cookie("token",token , domain, "/", false, 0);
// CookieManagerに追加
cm.add(cookie_token);
まとめ
シナリオ途中でCookieへ明示的に情報追加するには、BeanShellPreProcessor等を使う必要があります。
使うケースはまれかもしれませんが、活用してみてください。