Newman از آپلود فایل پشتیبانی میکند؛ بنابراین میتوانید هنگام اجرای Collection، دادههای تست مثل form-data یا فایل binary را همراه درخواست API ارسال کنید.
برای اینکه آپلود فایل درست کار کند، فایل باید در همان working directory قرار داشته باشد که فایل JSON Collection را از آن اجرا میکنید. همچنین نام فایل باید در ویژگی src همان request ثبت شده باشد.
نمونه Collection برای آپلود فایل #
در نمونه زیر، Collection با نام file-upload فقط یک درخواست دارد. این درخواست فایل sample-file.txt را به عنوان یک فیلد form-data در بدنه درخواست ارسال میکند.
// the filename is sample-file.txt
{
"info": {
"_postman_id": "9dbfcf22-fdf4-f328-e440-95dbd8e4cfbb",
"name": "file-upload",
"description": "A set of POST requests to upload files as form data fields",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "Form data upload",
"event": [
{
"listen": "test",
"script": {
"exec": [
"const uploadedFile = pm.response.json()?.files['sample-file.txt'];",
"",
"pm.test(\"Status code is 200\", () => pm.response.to.have.status(200));",
"pm.test('File was uploaded correctly', () => pm.expect(uploadedFile).to.match(/^data:application\\/octet-stream;base64/));"
],
"type": "text/javascript",
"packages": {}
}
}
],
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "file",
"type": "file",
"src": "sample-file.txt"
}
]
},
"url": {
"raw": "https://postman-echo.com/post",
"protocol": "https",
"host": ["postman-echo", "com"],
"path": ["post"]
},
"description": "Uploads a file as a form data field to https://postman-echo.com/post using a POST request."
},
"response": []
}
]
}
اجرای Collection #
فایل sample-file.txt باید کنار فایل Collection باشد. سپس Collection را مثل اجرای معمول Newman اجرا کنید:
newman run file-upload.postman_collection.json
اگر فایل در مسیر درست باشد و request درست تنظیم شده باشد، پیام موفقیت آپلود فایل را میبینید و تست Collection پاس میشود.
منبع آموزشی: Postman Docs، بازنویسی و سادهسازیشده برای کاربران فارسیزبان.

