Generate dynamic Postman collections from Swagger/OpenAPI with Faker.js
npm install swagger-to-postman-cliGenerate dynamic, automated Postman collections and environments directly from your Swagger/OpenAPI documentation. This tool leverages Faker.js to populate requests with realistic mock data, ensuring a robust and production-ready testing workflow.
---
- Smart Mocking: Automatically detects field names like email, name, id, and password to generate context-aware data.
- Recursive Parsing: Deeply crawls nested objects and arrays in your Swagger schemas.
- Postman SDK: Built on top of the official postman-collection library.
- Environment Automation: Auto-generates baseUrl and security variables (API Key, Bearer Token).
- CI/CD Ready: Built-in support for synchronizing collections directly to Postman Cloud.
---
The project is organized following the Single Responsibility Principle:
``text`
src/
āāā core/ # Postman SDK logic (Collection & Environment)
āāā generators/ # Mock data engine and schema traversal
āāā helpers/ # Utility functions (e.g., Postman Cloud Sync)
āāā services/ # Swagger analysis and business logic
āāā cli.ts # CLI entry point
āāā index.ts # Public library API
`bash`
npx swagger-to-postman -i ./swagger.json
`bash`
npm install -g swagger-to-postman
swagger-to-postman -i ./swagger.json
`bash`
npm install swagger-to-postman
npx swagger-to-postman -i ./swagger.json
`bash`
npm run build
npm link
`bash`
npm run start -- -i ./swagger.json -o ./output
`bashUsing a local file
swagger-to-postman -i ./swagger.json -o ./output
š CLI Arguments
| Argument | Shorthand | Description | Default |
| :--------- | :-------- | :------------------------------------------------------ | :--------- |
|
--input | -i | (Required) Path to local swagger.json or remote URL | N/A |
| --output | -o | Target directory for generated files | ./output |š¤ Output
The tool generates the following files:
`text
output/
āāā collection.json # Postman Collection
āāā environment.json # Postman Environment
``