JmeterにてCSRF(XSRF)対策が実装されているAngular.jsのシナリオを作成するためのポイント

SET-Cookie正規表現抽出で引っ張って変数に格納して利用する。

結論を先に書くとこういうことです。

 

なかなか調べても見つからなかったのでメモ。

 

元々やりたかったのは、Angular.jsを使用したシステムへの負荷テスト。

 

今回初めて採用したので負荷テストも手探りであった。

 

Jmeterのレスポンスにどうしてもエラーが返ってきてしまうのは、いったい何が原因なのかがさっぱりであった。

 

Cookieは、クッキーマネージャにより引き継ぐようにしているし、リクエストのCookieにもちゃんと格納されている。

と思ってgoogleChromeの開発者機能(F12)を利用してみることに。

 

 

と、気が付く。

 

Cookieの他に、ヘッダーにもパラメータいるんか―い。と。

 

ここからCookieの情報をシナリオに使うための方法探しの旅が始まった。

 

全然Cookieを変数に格納する方法が見つからないのですよ!

Jmeter Cookie 変数】

と検索してもHITするのはクッキーマネージャを利用する方法ばかり・・・。

 

やっとというか諦めて英語のサイトを探し始めるわけですよ!

そして見つけた内容は以下の通り。

 

正規表現抽出を利用し、

 

Refrence Name:変数名

Regular Expression:Set-Cookie: XSRF-TOKEN=(.+?);

Template:$1$

 

としてやれば変数にXSRF-TOKENの値が格納されるので、

これいこうのシナリオでヘッダーにパラメータとして使用してやればいいということでした。

 

正規表現抽出の説明や、Chromeの開発者機能について、Jmeterについての個人的なポイントはまた随時まとめていきます。