シナリオ作成#ex3_Cookie情報を明示的に追加する

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等を使う必要があります。

使うケースはまれかもしれませんが、活用してみてください。

コメントは受け付けていません。