Получение ошибки в выводе при передаче динамической переменной в ElFileBody в Gatling 3.0.3 - PullRequest
0 голосов
/ 16 апреля 2019

Я использую 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, то он работает нормально.Пожалуйста, помогите.

1 Ответ

0 голосов
/ 16 апреля 2019

Я понял глупую ошибку, которую совершил.Вместо передачи динамической переменной $ {Session_ID}, подобной этой, я передал $ {Session_ID).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...