Как протестировать сайты, защищенные CSRF, с помощью gatling?

#django #gatling

#джанго #гатлинг

Вопрос:

Я тестирую сайт на базе django, используя gatling. Мои формы защищены токеном CSRF:

 <input type="hidden" name="csrfmiddlewaretoken" value="EqFQPv1fdfJjAfq4wFcWkVsecmWSisQzQU0ee1utyOEpJd7edxk3DMhAQNMpI2DK">
  

Как я могу протестировать свои формы с помощью платформы тестирования Gatling?

Ответ №1:

Используйте проверку выбора CSS, чтобы захватить его и отправить обратно в следующем запросе. Вероятно, вам также следует взглянуть на официальные руководства: часть 1 и часть 2.

Ответ №2:

Альтернативой тестированию выбора CSS было бы использование регулярного выражения для захвата токена:

 val scn: ScenarioBuilder = scenario("HisUpdateHealthProfile")
    .exec(http("request_-1")
      .get("/")
      .check(
        regex(
          """<input type="hidden" name="csrfmiddlewaretoken" value="([^"]*)">"""
        ).saveAs("csrf"))
      .headers(headers_0))