Каратэ DSL отстаивают на вложенном JSON - PullRequest
0 голосов
/ 22 декабря 2018
{"serviceName":"Legal Entity account for given input account.","requestTime":1545426348945,"responseTime":1545426348949,"timeTaken":4,"responseCode":0,"responseMessage":"Success","pageSize":100,"pageNumber":0,"accounts":{"transferDate":1549429200000,"migrationWave":"5","searchedLEAccount":{"accountNumber":"41477514","cbdNumber":"12345678","bic":"CHASGBXxX","poolAccount":"Y","sweepMasterAccount":"Y","status":"DORMANT","branchId":"000000071","branchName":"LONDON","leAccountType":"OLD"},"linkedLEAccount":{"accountNumber":"6541245045","cbdNumber":"854321","bic":"CHASLUY","status":"DORMANT","branchId":"000000055","branchName":"S.A","leAccountType":"NEW"}}}

Я пытаюсь захватить все accountNumber и проверить, являются ли они числами.Что я делаю не так

Когда метод Post

Тогда статус 200

И ответ на совпадение! = Null

И ответ на совпадение содержит {serviceName: 'Учетная запись юридического лица для данной входной учетной записи.'}

И соответствует response.accounts.searchedLEAccount содержит {accountNumber: '#notnull'}

И соответствует response.accounts.searchedLEAccount содержит {accountNumber: '#present'}

И соответствует response.accounts.searchedLEAccount содержит {accountNumber: '#number'}

1 Ответ

0 голосов
/ 22 декабря 2018

В одну строку:

* match each $..accountNumber == '#regex \\d+'

Совет: внимательно прочитайте документы и поймите Json-Path.

Вот полный пример, который вы можете вставить в новый Scenario и посмотретьрабочая:

* def response = 
"""
{
   "serviceName":"Legal Entity account for given input account.",
   "requestTime":1545426348945,
   "responseTime":1545426348949,
   "timeTaken":4,
   "responseCode":0,
   "responseMessage":"Success",
   "pageSize":100,
   "pageNumber":0,
   "accounts":{
      "transferDate":1549429200000,
      "migrationWave":"5",
      "searchedLEAccount":{
         "accountNumber":"41477514",
         "cbdNumber":"12345678",
         "bic":"CHASGBXxX",
         "poolAccount":"Y",
         "sweepMasterAccount":"Y",
         "status":"DORMANT",
         "branchId":"000000071",
         "branchName":"LONDON",
         "leAccountType":"OLD"
      },
      "linkedLEAccount":{
         "accountNumber":"6541245045",
         "cbdNumber":"854321",
         "bic":"CHASLUY",
         "status":"DORMANT",
         "branchId":"000000055",
         "branchName":"S.A",
         "leAccountType":"NEW"
      }
   }
}
"""
* match each $..accountNumber == '#regex \\d+'
...