I have the follow gatling script:
val wagerFeeder = csv("wagers.csv").random
val placeBetScenario = scenario("request")
.feed(wagerFeeder)
.exec(http("send requests")
.post(apiPlaceBet)
.headers(sentHeaders)
.body(StringBody(session=>Requests.MyRequest)).asJSON
.check(status.is(200))
)
setUp(
placeBetScenario.inject(atOnceUsers(1))
).protocols(httpConf)
val MyRequest =
"""{
"playerDetails" : {
"playerId" : "playerId123"
},
"campaignDetails": {
"campaignId": "dummy-campaign"
},
"wagerDetails":{
"amount" : "${wagerAmount}",
"currencySymbol": "EUR"
}
}"""
wager.csv content:
wagerAmount,wagerCurrency
10,EUR
15,USD
After running this seems like ${wagerAmount} doesnt populated and remain with the placeholder string
what ami I missing?
response:
Request:
Place bet request: KO status.find.is(200), but actually found 400
=========================
Session:
Session(request,1,Map(gatling.http.cache.dns -> io.gatling.http.resolver.ShuffleJdkNameResolver@1d887911, wagerAmount -> 15, wagerCurrency -> USD),1505806932188,0,KO,List(),<function1>)
stringData={
"playerDetails" : {
"playerId" : "playerId123"
},
"campaignDetails": {
"campaignId": "dummy-campaign"
},
"wagerDetails":{
"amount" : "${wagerAmount}",
"currencySymbol": "EUR"
}
}
${wagerAmount} should have been replaced with 15. seems from logs that gatling does manage to pick that up. but it's not replaced