I am trying to get all the titles into a shared object to use in other calls but keep getting this error. The weird part is I didn’t change this from the working example. Can’t get into the details very much but the old code works with the same line of code, the next line is different and the only difference is that I’m trying to iterate over the results and then instead of having two nested foreach loops, break that last call (request 2) out to be able to run like 100 users while the fetchers only run one. So i’m putting it into a global lists that I can use on other scenarios. Thanks for any help!
PATAPL-201YG8WM:bin phowel002c$ ./gatling.sh
GATLING_HOME is set to /Users/phowel002c/gatling_working/locker-gatling
11:59:09.711 [ERROR] i.g.c.ZincCompiler$ - /Users/phowel002c/gatling_working/locker-gatling/user-files/simulations/title/GetWithDequeues.scala:37: Cannot find JsonFilter type class for type scala.collection.Map[String,Any]
11:59:09.712 [ERROR] i.g.c.ZincCompiler$ - .check(status.is(200), jsonPath("$.titles[*]").ofType[Map[String,Any]].findAll.saveAs(“titles”)))
11:59:09.713 [ERROR] i.g.c.ZincCompiler$ - ^
11:59:09.861 [ERROR] i.g.c.ZincCompiler$ - one error found
NEW CODE
Full code
val search = exec(http("request 1")
.get(accountIdUrls)
.check(status.is(200), jsonPath("$.xboIds[*].accountNumber").ofType[String].findAll.saveAs("accountNumbers")))
.foreach("${accountNumbers}", "accountNumber") {
exec { session =>
accountNumbers += "${accountNumber}"
session
}
}
.exec(http("reqeust 1.5")
.get(uri1)
.check(status.is(200), jsonPath("$.titles[*]").ofType[Map[String,Any]].findAll.saveAs("titles")))
.exec(foreach("${titles}", "title"){
exec{ session =>
programIds += "${title.programID}"
session
}
})
`
`
OLD CODE WORKS!!!
val search = exec(http("request 1")
.get(accountIdUrls)
.check(status.is(200), jsonPath("$.xboIds[*].accountNumber").ofType[String].findAll.saveAs("accountNumbers")))
.exec(http("reqeust 1.5")
.get(uri1)
.check(status.is(200), jsonPath("$.titles[*]").ofType[Map[String,Any]].findAll.saveAs("titles")))
.foreach("${accountNumbers}", "accountNumber") {
foreach("${titles}", "title") {
exec(http("request 2")
.get(ngpUri.replace("<program_id>", "${title.programID}").replace("<account_number>", "${accountNumber}"))
.check(status.is(200))
.check(jsonPath("$.entryCount")))
}}
`
`