Моя потребность: Я хочу построить путь, содержащий фильтры, в моем ответе JSON.
//Simple path - OK
response.Node1.Node2.Node3.Node4
//Path with list - OK
response.Node1.Node2.Node3[1].Node4
//Path with condition (filter) - NOK
response.Node1.Node2[?(@.Node3 == 'value')].Node3bis
Почтальон не понимает [? (@. Node3 == 'значение')] Синтаксис jsonPath изначально не поддерживается.
Поэтому я пытаюсь импортировать js-библиотеку jsonPath в Postman и обнаружил два:
Исследования
Я уже прочитал этот пост ,и ни один из ответов не отвечает моим потребностям.
Код JS почтальона ограничен песочницей .
Пределы почтальонабиблиотеки для этого списка .
Существует трюк (см. СОВЕТ № 5) для добавления кода js в качестве глобальной переменной и вызова егов запросах.Однако это не работает для проекта jsonPath, так как это не просто функция, а целый проект.Я пробовал много разных способов, но все еще не смог вызвать функции jsonPath из моего теста Почтальона.
Я также прочитал связанную с проблему Почтальона .
Из сообщества GitHub этот вопрос был закрыт в пользу этого .Который был закрыт в пользу этого .Который открывается без четкого ответа ( только маленькие хитрости, упомянутые выше ) с июня 2015 года.
Неизвестные домены
Даже если я читаю их глобальное использование, я не знаю ничего технического о NodeJs / NPM / Newman.
Но я читал, что почтальон поддерживает NodeJs, позволяет генерировать фрагмент кода NodeJs, и я увидел, что библиотека jsonPath можетбыть импортированным с использованием NodeJ.
Возможно, что-то можно сделать оттуда, но у меня нет опыта, чтобы это произошло.
Вопрос:
Кто-нибудь знает, как заставить его работать вообще?
Я имею в виду, найти способ использовать выражение jsonPath, благодаря библиотеке jsonPath js, в почтальоне ... Пожалуйста, помогите.
Любая коллекция почтальонов, делающая это, приветствуется:).