#database #rest #postman #newman
Вопрос:
У меня есть коллекция в Postman, которая загружает «объекты полезной нагрузки» из файла json и хочет запустить ее в newman из командной строки.
ОТПРАВИТЬ запрос
- Тело: из почтового запроса, который я получил
{{jsonBody}}
- Сценарий предварительного запроса: логически
pm.globals.set("jsonBody", JSON.stringify(pm.iterationData.toObject()));
и file.json
файл с такого рода «объектами»:
[
{
"data": {
"propert1": 24,
"property2": "24__DDL_VXS",
...
},
{
"data": {
"propert1": 28,
"property2": "28__HDL_VDS",
...
}
...
]
Работает как заклинание в «Почтальоне«.
Вот что я пытаюсь запустить в cmd.
newman run
-d file.json
--global-var access_token=$TOK4EN
--folder '/vlanspost'
postman/postman_collection_v2.json
Основываясь на результатах, которые я получаю, похоже, что Ньюман не решает флаг:
-d, --iteration-data <path> Specify a data file to use for iterations (either JSON or CSV)
и просто передает в качестве полезной нагрузки буквально эту строку из раздела тела: {{jsonBody}}
У кого-нибудь есть такая же проблема ?
Тнх
Комментарии:
1. Я думаю, что Ньюман не знает, куда подавать
file.json
документы . Не могли бы вы попробовать добавить полный путь к файлу?2. Привет @lucasnguyen17, я попытался указать полный путь, но получил тот же результат.
3. Я думаю, может ли файл, экспортированный из Postman, быть в каком-то неправильном формате? @lucasnguyen17
4. Я прикинул, что груз фактически решен из-итерации данных, но Ньюман необходимо прохождение этой полезной в некоторых искаженной форме — потому, что я использовал —verbose и Ньюман и скопировать/вставить тот же полезной нагрузки с помощью curl и из httpie (оба работают как шарм), но при использовании Ньюман — я вам
500 INTERNAL SERVER ERROR
так колбе не будет даже обработать запрос и сверла будет автоматически кидать внутренняя ошибка сервера 500 @lucasnguyen175. ПОЭТОМУ я знаю, как
newman
отправлять полезную нагрузку. 1. Когда я отлаживаю свое приложение Flask в PyCharm и перехватываю полезную нагрузку запроса отnewmam
—request.get_json()
не существует — и она должна существовать (даже Почтальон отправляет данные в формате json) 2. при использовании postman/curl/httpierequest.get_json()
просто существует, поэтому экспорт почтальона должен быть каким-то образом неправильным. Я подозреваю эту строку в разделе предварительных запросов экспортируемой коллекции:"type": "text/javascript"
@lucasnguyen17
Ответ №1:
Я так и сделал, и это сработало.
- Поместите коллекцию и файл данных в один каталог. Например:
C:USERSDUNGUYENDESKTOPSO
---- file.json
___ SO.postman_collection.json
- Исходя из этого
folder
, сделайтеnewman
команду.
newman run .SO.postman_collection.json -d .file.json --folder 'vlanspost'
- Это и есть результат: