Hello everybody
I am using following “pure Scala” function within my scenario
def extractCharacteristicFromConfig(config:String, numChar:Int): String = {
val jsonObject: JsValue = Json.parse(config)
//println("==> DEBUG : config=" +config +" - numChar=" +numChar)
return Json.stringify(jsonObject(numChar))
}
and when i am doing my mvn:gatling test I got this kind of issue from ZincCompiler
found : Int
required: io.gatling.core.session.Session
return Json.stringify(jsonObject(numChar))
^
15:29:30.711 [ERROR] i.g.c.ZincCompiler$ - one error found
15:29:30.718 [ERROR] i.g.c.ZincCompiler$ - Compilation crashed
I am 100% sure than input parameters (config & numChar) are correctly set thanks to the previous DEBUG println
I really dont get the reason of this type mistmatch issue (even if I am pretty sure it is an obvious one for Gatling experts )
Thanks in advance for any suggestion!!
For your information here is the overall call chain:
val sc_scenario_1_loop = scenario(Prefix + " - S&C loop")
.exec(SC_Execution_Chain())
def SC_Execution_Chain() =
exec(
session => {
val conf = dataGen.getRandomConfiguration(“c:/TEMP/configurations.json”)
// lets create 3 session variables to store information required to manage PUT /…/characteritics requests
session.set(“randomConfig”, (conf \ “configuration”).get)
.set(“configCharacteristics”, (conf \ “characteristics”).get)
.set(“nbConfigCharacteristics”, (conf \ “characteristics” \ “id”).size)
}
)
// start a new product configuration
.exec(postConfiguration())
.exec(
session => {
session.set(“scEncodedConfigurationId”, percentEncoding(session(“scConfigurationId”).as[String]))
}
)
// for i from 1 to nbConfigCharacteristics do
.repeat(session => session(“nbConfigCharacteristics”).as[Int], “i”) {
exec(
session => {
session.set(“characteristicSetting”, extractCharacteristicFromConfig(session(“configCharacteristics”).as[String], session(“i”).as[Int]))
}
)
.exec(putConfigurationCharacteristics("${scEncodedConfigurationId}", “${characteristicSetting}”))
}
// get the from a complete JSON configuration (=[{characteristic}, …, {characteristic}])
def extractCharacteristicFromConfig(config:String, numChar:Int): String = {
val jsonObject: JsValue = Json.parse(config)
//println("==> DEBUG : config=" +config +" - numChar=" +numChar +" - char=" +Json.stringify(jsonObject(numChar)))
return Json.stringify(jsonObject(numChar))
}