Search code examples
gatling

Gatling - doing an exec only if a certain value occurs in the previous exec


I do one call/exec and get a response like this:

{
"sperringsDetaljer": [
{
  "konsumentKode": "HPP",
  "konsumentBeskrivelse": "helsepersonellportal",
  "sperringId": "59085da6-d1ad-442d-b974-6bb15b0b436e",
  "sperreForAlle": true,
  "sperreHeleKjernejournal": false,
  "opprettetDato": "2021-09-01T12:52:52.647+02:00",
  "endretDato": "2021-09-01T12:52:52.647+02:00",
  "kommentarSperretInnhold": "Resepter/Legemidler",
  "hprNummer": null,
  "navn": null,
  "sperreModulListe": [
    {
      "sperretModulKode": "LEGEMIDLER",
      "sperretModulBeskrivelse": "Resepter/Legemidler"
    }
  ]
},
{
  "konsumentKode": "HNNO",
  "konsumentBeskrivelse": "borgerportal helsenorge.no",
  "sperringId": "6e989924-9329-45ae-ae9e-798a6b8cf8df",
  "sperreForAlle": true,
  "sperreHeleKjernejournal": true,
  "opprettetDato": "2021-09-01T12:51:54.647+02:00",
  "endretDato": "2021-09-01T12:51:54.647+02:00",
  "kommentarSperretInnhold": "Alt innhold",
  "hprNummer": null,
  "navn": null,
  "sperreModulListe": []
  }
 ],
 "besokshistorikkblokkering": {
   "blokkert": true,
   "opprettetDato": "2021-08-26T10:14:25+02:00"
 }

}

Other calls might not respond with the element

"konsumentKode": "HNNO"

How can I do this:

  1. Do one exec and check if the json object "konsumentKode": "HNNO" is returned
  2. If "konsumentKode": "HNNO" exists/is returned - do this
  3. Else do that

Solution

  • Save via optional

    jsonPath(???).optional.saveAs("blabla")
    

    Can check exist via "${blabla.exists()}"

    Then you can create condition:

    .doIf("${blabla.exists()}") {
      .....
      }