Как получить случайные значения из фидера для использования в заголовке в gatling - PullRequest
0 голосов
/ 21 сентября 2018

У меня есть CSV 1000 токенов, которые будут использоваться в заголовке, любой случайный токен в каждом сценарии.И этот случайный токен должен оставаться неизменным для всех запросов get и post в сценарии.Ниже приведены примеры данных файла CSV.

token

Token token1tewq

Token token2cbvj

и так далее до 1000 строк

Сценарий, который я хочу выполнить, выглядит следующим образом.

  1. Нажмите API get, используя случайный токен (из CSV) в заголовке.
  2. пауза на 2 секунды.
  3. Хит API публикации с телом с тем же токеном, выбранным на шаге 1.
  4. Хит тот же API с тем же токеном, что и на шаге 1.

Я пыталсясделать это с помощью приведенного ниже кода, но не смог заставить его работать.

val tokencsv = csv("test.csv").random
val httpConf = http.baseURL("http://myApiUrl")
.acceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8") // Here are the common headers
    .doNotTrackHeader("1")
    .acceptLanguageHeader("en-US,en;q=0.5")
    .acceptEncodingHeader("gzip, deflate")
    .userAgentHeader("Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:16.0) Gecko/20100101 Firefox/16.0")

val userFeed = feed(tokencsv)
      .exec(http("Get all feeds")
      .get("url1")
      .headers(Map("Content-Type" -> "application/json","Authorization" -> "${token}")))
      .pause(2)
      .exec(http("Post a feed")
      .post("url2")
      .body(StringBody("""{"type":2, "images":["http://imageurl.jpg"],"text":"lorem ipsum", "data_id":12}""")).asJSON
      .headers(Map("Content-Type" -> "application/json","Authorization" ->  "${token}")))
      .pause(1)
      .exec(http("Reloading page after posting the feed").get("url1")
      .headers(Map("Content-Type" -> "application/json","Authorization" -> "${token}")))

val socialFeedGetAll = scenario("social feed").exec(userFeed)
setUp(socialFeedGetAll.inject(constantUsersPerSec(10) during(60 seconds)).protocols(httpConf))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...