Как (если возможно) запустить тест Гатлинга с запросом REST с изменением параметра? - PullRequest
0 голосов
/ 13 июля 2020

Я пишу нагрузочный тест с помощью Gatling для веб-службы REST. Конечная точка службы получает параметр в пути вроде этого:

http://localhost:8080/api/v1/palindrom/revert/{word}

Я не знаком с Gatling, но должен выполнить этот тест как можно скорее. Я пробовал разные решения, но не понимаю, как предоставить параметр {word}, взятый из списка или файла.

На данный момент мой код выглядит следующим образом:

import scala.concurrent.duration._
import io.gatling.core.Predef._
import io.gatling.http.Predef._

class MultiRequest extends Simulation {
    private val baseUrl = "http://localhost:8080"
    private val endpoint = "/api/v1/palindrom"

    val httpProtocol = http
        .baseUrl(baseUrl)
        .inferHtmlResources()
        .acceptHeader("*/*")
        .contentTypeHeader("application/json")
        .userAgentHeader("gatling/3.3.1")

    val fullUrl = baseUrl + endpoint + "/word"
    val scn = scenario("Revert_1")
        .exec(http("Request_1")
        .get(fullUrl)
        .check(status.is(200)))

    setUp(
        scn.inject(
            nothingFor(2),
            atOnceUsers(100),
            rampUsers(100) during (60)
        )
    ).protocols(httpProtocol)
}

С кодом выше тест запускает 200 запросов, но всегда с одним и тем же параметром (word)

Я не понимаю, как предоставить список из 50 слов, который будет взят случайным образом 200 раз. Не могли бы вы попросить о помощи?

Пожалуйста, поймите, что конечная точка сервиса здесь является лишь примером для вопроса, а не реальным.

1 Ответ

2 голосов
/ 13 июля 2020

Вы должны проверить обучающие материалы, там именно то, что вы ищете: фидеры и Gatling EL:

...