пытаясь сделать утверждение на тип контента типа SSE - PullRequest
1 голос
/ 08 февраля 2020
Scenario: Test
* def contentType = 'text/event-stream'
* def response =
"""
<data contentLength="5930" contentType="text/event-stream;charset=UTF-8"><![CDATA[
data:
}
}

Это работает и утверждает правильно, но это содержит, и мне нужно было бы заранее знать значение

И соответствовать jsonresponse.data._ содержит '00000000000000000000ab c'

Это работает и не работает правильно, но это содержит, и мне нужно было бы заранее знать значение

И соответствовать jsonresponse.data._ содержит '123456789'

Is есть способ, где я могу получить значение для groundNumber и других атрибутов из этого json.

Заранее спасибо

1 Ответ

1 голос
/ 08 февраля 2020

Вам нужно конвертировать этот материал в действительный JSON. См. Преобразование типов: https://github.com/intuit/karate#type -конверсия

Для данного ответа это преобразует несколько строк в один массив JSON.

* def data = /data
* print data
* def data = data.replaceAll('data:', '').replaceAll('}', '},')
* json data = '[' + data + ']'
* print data

Сейчас Вы можете выполнять обычную обработку JsonPath.

* def numbers = $data[*].groundNumber
* match numbers == ['00000000000000000000123', '00000000000000000000456', '00000000000000000000789', '00000000000000000000000']
...