Встроенные выражения не заменяются в фильтре JSONPATH. - PullRequest
0 голосов
/ 07 сентября 2018

Когда я передаю значение строки, фильтр json работает нормально. Но когда я передаю встроенное выражение в JSONPATH, оно не заменяет фактическое значение.

Given url appServer +'/integration/rest/user'+'?page=0'+'&pageSize=10'+'&fieldList=first_name,last_name,id,username,last_login,active,date_created'+'&filter=user_type%20equals%20%27P%27%20'+'&getTotalRecordCount=true'

И заголовок X-CSRF-TOKEN = csrfToken * cookie JSESSIONID = jsessionid * печать маршрутного значения * cookie route = routevalue * string searchUser = 'anupama'

* Callonce Sleep 10

Данный запрос ''

Когда метод получить Тогда статус 200 * def usernames = get response.integration.serviceData.record [*]. username * печать имен пользователей * печать searchUser * def userNode = get [0] response.integration.serviceData.record [? (@. username == '# (searchUser)')] * печать userNode enter image description here

1 Ответ

0 голосов
/ 07 сентября 2018

Встроенные выражения предназначены только для JSONPath и XML: https://github.com/intuit/karate#embedded-expressions

Пожалуйста, используйте karate API для динамического JsonPath: https://github.com/intuit/karate#jsonpath-filters

* def userNode = karate.jsonPath(response, "$.integration.serviceData.record[?(@.username=='" + searchUser + "')]")
...