Я пишу нагрузочный тест с помощью 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 раз. Не могли бы вы попросить о помощи?
Пожалуйста, поймите, что конечная точка сервиса здесь является лишь примером для вопроса, а не реальным.