Управление файлами cookie jsessionid с помощью инструмента Gatling

У меня есть вопрос о моделировании Gatling, которое включало вход в веб-приложение Java.

Я настроил следующую симуляцию и с удивлением заметил, что она работает, хотя я явно не извлекал и не устанавливал файл cookie JSESSIONID между запросами.

Я ожидал, что комментарий с //AUTHENTICATED REQUEST HERE потерпит неудачу....

Может кто-нибудь дать представление?

class SigninAndAct extends Simulation {

    val baseURL = "http://localhost:8080"
    val httpConf = httpConfig
            .baseURL(baseURL)
            .acceptHeader("*/*")
            .acceptEncodingHeader("gzip, deflate")
            .acceptLanguageHeader("fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3")
            .connection("keep-alive")
            .userAgentHeader("Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:28.0) Gecko/20100101 Firefox/28.0")


    val headers_1 = Map(
            "Accept" -> """text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"""
    )

    val headers_2 = Map(
            "Accept" -> """text/css,*/*;q=0.1"""
    )

    val headers_31 = Map(
            "Accept" -> """text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8""",
            "Content-Type" -> """application/x-www-form-urlencoded"""
    )


    val scn = scenario("Signin-scn")
                .exec(http("open-signin-page")
                    .get("/bignibou/signin")
                    .headers(headers_1)
                    .check(regex("""<input type="hidden" name="_csrf" value="(.*)" />""")
                    .saveAs("_csrf")))
                .exec(http("signin")
                    .post("/bignibou/signin")
                    .headers(headers_1)
                    .param("_csrf", "${_csrf}")
                    .param("username","[email protected]")
                    .param("password","------")
                    .check(currentLocation.is(baseURL+"/bignibou/dashboard")))
                .exec(http("open-edit-add-page")
                     .get("/bignibou/advertisement/childminder/edit/32768")//AUTHENTICATED REQUEST HERE
                     .headers(headers_1)
                     .check(currentLocation.is(baseURL+"/bignibou/advertisement/childminder/edit/32768")))

    setUp(scn.users(1).protocolConfig(httpConf))
}

person balteo    schedule 09.05.2014    source источник


Ответы (1)


Это потому, что Gatling позаботится об этом за вас. Он автоматически сохраняет их в сеансе пользователя и передает их следующему запросу.

person LMeyer    schedule 09.05.2014
comment
Довольно аккуратно от Гатлинга! Спасибо. Хотя это где-то задокументировано? - person balteo; 10.05.2014