https://example.com/form に設置されたフォームから、https://example.com/form/submit対してPOSTするシナリオを作成します。
1つめのリクエストには、フォームが設置された画面へののパスとして、/formを設定します。
「リクエスト追加」ボタンを押下し、POSTするリクエストを追加します。パスには「/form/submit」を設定し、メソッドをGETからPOSTに変更します。
メソッドがPOSTの場合は、「ボディ」タブが表示され、パラメータの送信方法をフォーム・Body・Body(変数)から選べます。今回はフォームからPOSTするシナリオを作成するため、「フォーム」を選択します。送信するパラメータを「追加」ボタンから追加します。
対象のフォームが、以下のHTMLだと仮定します。
<form> <input type="text" name="email" /> <input type="password" name="password" /> </form>フォームから送信される、email, passwordを以下の通り設定します。
以上でシナリオは完成です。ですが、実際にはフォーム内にCSRF対策用のトークンが埋め込まれていて、ケースが多いため、トークンの取得・送信に対応したシナリオに変更します。フォームのHTMLは以下だと仮定します。
<form> <input type="hidden" name="_token" value="yd9iu2256k" /> <input type="text" name="email" /> <input type="password" name="password" /> </form>1回目のリクエストのレスポンスから_tokenの値を取得するよう設定します。「レスポンス」タブを選択し、「追加」ボタンを押下してください。
一番左のセレクトボックスから「HTML(CSSセレクタ)」を選択します。その右のCSSセレクタに取得したい対象を取得する「input[name="_token"]」を入力します。(CSSセレクタで該当の要素を特定さえできれば良いです。)さらに右の属性に対して「value」を指定します。最後に右端のフォームに変数名として「token」を入力します。(変数名は、取得した値を後から参照するときの名前です。自分がわかる名前であれば自由につけられます)
取得した値を、次のリクエストのパラメータに含めます。「追加」ボタンからパラメータを追加し、左端のセレクトボックスから「セッション変数」を選択します。キー名に「_token」を入力し、右端のセレクトボックスから「token」を選択します。
以上でCSRFトークンの送信に対応したシナリオが完成です。