У меня есть CSV 1000 токенов, которые будут использоваться в заголовке, любой случайный токен в каждом сценарии.И этот случайный токен должен оставаться неизменным для всех запросов get и post в сценарии.Ниже приведены примеры данных файла CSV.
token
Token token1tewq
Token token2cbvj
и так далее до 1000 строк
Сценарий, который я хочу выполнить, выглядит следующим образом.
- Нажмите API get, используя случайный токен (из CSV) в заголовке.
- пауза на 2 секунды.
- Хит API публикации с телом с тем же токеном, выбранным на шаге 1.
- Хит тот же 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))