Я использую Gatling 3.0.3, а Java home установлен на Jdk9.Я получаю сообщение об ошибке при запуске сценария с использованием ElFileBody и передаю динамическую переменную Session_ID в файл ElFileBody .txt.Ниже приведен мой код
.exec(http("TEAMXPRESS_INIT")
.post("/WEBXPAPIT/api/Common/wxRequestHandlerJSON")
.headers(headers_7)
.body(ElFileBody("bodies/resources/TeamXPLoginUnSchShift_0021_request.txt")).sJson
.check( jsonPath( "$" ).saveAs( "TEAMXP_INIT_RESPONSE_DATA" ) )
.check(status.in(200))
.check(jsonPath("$.pcResult").is("OK")))
body / resources / TeamXPLoginUnSchShift_0021_request.txt:
{"pcwxSessionID":"${Session_ID)","pcServiceName":"TeamXpressInit","pcContextString":"{\"ttContext\":[{\"contextName\":\"pcToken\",\"contextValue\":null,\"contextGroup\":\"PARAM\",\"contextOperator\":\"\",\"contextType\":\"\"},{\"contextName\":\"pcPlatform\",\"contextValue\":null,\"contextGroup\":\"PARAM\",\"contextOperator\":\"\",\"contextType\":\"\"}]}","piClientVersion":"20190414001","pcIODataSetString":""}
Ошибка, которую я получаю,
Caused by: java.util.concurrent.CompletionException: io.gatling.core.session.el.ElParserException: Failed to parse {"pcwxSessionID":"${Session_ID)","pcServiceName":"TeamXpressInit","pcContextString":"{\"ttContext\":[{\"contextName\":\"pcToken\",\"contextValue\":null,\"contextGroup\":\"PARAM\",\"contextOperator\":\"\",\"contextType\":\"\"},{\"contextName\":\"pcPlatform\",\"contextValue\":null,\"contextGroup\":\"PARAM\",\"contextOperator\":\"\",\"contextType\":\"\"}]}","piClientVersion":"20190414001","pcIODataSetString":""} with error ''}' expected but ')' found'
at com.github.benmanes.caffeine.cache.BoundedLocalCache$BoundedLocalLoadingCache.lambda$new$0(BoundedLocalCache.java:3373)
at com.github.benmanes.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$14(BoundedLocalCache.java:2039)
at java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1922)
at com.github.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2037)
at com.github.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2020)
at com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:112)
at com.github.benmanes.caffeine.cache.LocalLoadingCache.get(LocalLoadingCache.java:67)
at io.gatling.core.body.ElFileBodies.asBytesSeq(ElFileBodies.scala:71)
at io.gatling.core.body.ElFileBody$.apply(Body.scala:34)
at teamXPLogin.TeamXPLoginUnSchShift.<init>(TeamXPLoginUnSchShift.scala:86)
Что я делаю неправильноВот.Если я передаю тело запроса вручную, используя метод StringBody, то он работает нормально.Пожалуйста, помогите.