Import Tools
NOIV's import capabilities allow you to migrate existing API tests from other tools, preserving your testing investments while gaining NOIV's advanced features.
Postman Collection Import
Convert Postman collections to NOIV format with full preservation of test logic.
Basic Import
noiv import postman collection.json
This converts your Postman collection and creates a NOIV YAML file.
Import with Custom Output
noiv import postman collection.json -o my_tests.yaml
Specify the output filename instead of using the auto-generated name.
Supported Postman Features
Request Configuration
- HTTP methods: GET, POST, PUT, DELETE, PATCH, etc.
- URLs and parameters: Full URL construction
- Headers: All custom headers including authentication
- Request bodies: JSON, form data, raw text
Collection Structure
- Folder organization: Maintains logical grouping
- Request descriptions: Converted to test descriptions
- Variable references: Postman variables become NOIV environment variables
Example Postman Collection
{
"info": {
"name": "E-commerce API",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"variable": [
{
"key": "baseUrl",
"value": "https://api.shop.example.com"
}
],
"item": [
{
"name": "User Management",
"item": [
{
"name": "Create User",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Authorization",
"value": "Bearer {{authToken}}"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"name\": \"John Doe\",\n \"email\": \"john@example.com\"\n}"
},
"url": {
"raw": "{{baseUrl}}/api/users",
"host": ["{{baseUrl}}"],
"path": ["api", "users"]
}
}
}
]
}
]
}
Converted NOIV Output
# imported_e-commerce_api.yaml
metadata:
imported_from: postman
original_file: collection.json
variables:
baseUrl: https://api.shop.example.com
name: E-commerce API
tests:
- name: Create User
description: 'Imported from Postman: User Management/Create User'
url: ${baseUrl}/api/users
method: POST
expected_status: 200
headers:
Content-Type: application/json
Authorization: Bearer ${authToken}
body: |
{
"name": "John Doe",
"email": "john@example.com"
}
Migration Workflow
Step 1: Export from Postman
In Postman:
- Open your collection
- Click the "..." menu
- Select "Export"
- Choose "Collection v2.1"
- Save the JSON file
Step 2: Import to NOIV
noiv import postman my_collection.json
Step 3: Review and Adjust
The imported YAML file may need adjustments:
# Add response validations
tests:
- name: Create User
url: ${baseUrl}/api/users
method: POST
expected_status: 201 # Adjust expected status
headers:
Content-Type: application/json
Authorization: Bearer ${authToken}
body: |
{
"name": "John Doe",
"email": "john@example.com"
}
validations: # Add validations not present in Postman
- type: json_path
path: $.user.id
expected: exists
- type: header
name: Location
expected: contains:/users/
Step 4: Set Environment Variables
export baseUrl="https://api.shop.example.com"
export authToken="your-api-token"
Step 5: Run Imported Tests
noiv test run imported_e-commerce_api.yaml
Advanced Import Scenarios
Large Collections
For collections with many requests:
# Import large collection
noiv import postman large_collection.json -o comprehensive_tests.yaml
# Split into smaller test suites if needed
# Edit the YAML file to create focused test files
Collections with Authentication
Postman collections using authentication:
{
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{authToken}}"
}
]
}
}
Becomes:
headers:
Authorization: Bearer ${authToken}
Environment-Specific Collections
# Import different environment collections
noiv import postman dev_collection.json -o dev_tests.yaml
noiv import postman staging_collection.json -o staging_tests.yaml
noiv import postman prod_collection.json -o prod_tests.yaml
Benefits of Migration
Enhanced Capabilities
After importing to NOIV, you gain:
AI-Powered Test Generation
# Extend imported tests with AI
noiv generate natural "add error handling tests for the imported user management API"
Performance Testing
# Benchmark imported endpoints
noiv benchmark ${baseUrl}/api/users -n 500 -c 25
Professional Reporting
# Generate HTML reports
noiv report html
Advanced Validations
Add sophisticated validations not available in Postman:
validations:
- type: json_path
path: $.data[*].id
expected: all_exist
- type: response_time
expected: under_500ms
- type: contains
value: "success"
case_sensitive: false
Improved Workflow
Continuous Integration
# Add to CI/CD pipeline
noiv test run imported_tests.yaml
Version Control
# YAML files are more git-friendly than JSON
# Better diff viewing
# Easier code reviews
Environment Management
# Simple environment switching
export API_ENV="staging"
export baseUrl="https://staging-api.example.com"
noiv test run imported_tests.yaml
Best Practices for Import
1. Organize Before Import
Structure your Postman collections logically:
- Group related requests in folders
- Use consistent naming conventions
- Set up collection-level variables
- Document request purposes
2. Review Import Results
Always review the generated YAML:
- Check URL construction
- Verify header mappings
- Validate request bodies
- Add missing validations
3. Enhance After Import
Take advantage of NOIV features:
# Original import
- name: Get User
url: ${baseUrl}/api/users/123
method: GET
expected_status: 200
# Enhanced version
- name: Get User - Validate Complete Profile
url: ${baseUrl}/api/users/123
method: GET
expected_status: 200
validations:
- type: json_path
path: $.user.email
expected: contains:@
- type: json_path
path: $.user.created_at
expected: exists
- type: response_time
expected: under_1000ms
4. Test Incrementally
Don't run all imported tests at once:
# Test a few requests first
head -20 imported_tests.yaml > test_sample.yaml
noiv test run test_sample.yaml
# Then run complete suite
noiv test run imported_tests.yaml
Migration Checklist
- [ ] Export Postman collection as v2.1 JSON
- [ ] Run NOIV import command
- [ ] Review generated YAML file
- [ ] Set up environment variables
- [ ] Test sample requests manually
- [ ] Add enhanced validations
- [ ] Run complete test suite
- [ ] Set up CI/CD integration
- [ ] Create HTML reports
- [ ] Document new workflow for team
Troubleshooting Import Issues
Malformed JSON
# If import fails due to JSON issues:
# 1. Validate JSON format
# 2. Re-export from Postman
# 3. Check for special characters
Missing Variables
# If tests fail due to undefined variables:
export missing_variable="value"
# Or edit YAML to add default values
Authentication Issues
# For auth problems:
# 1. Verify token format in YAML
# 2. Check environment variable names
# 3. Test auth with noiv quick first
Complex Request Bodies
# For complex Postman bodies:
# 1. Review YAML body section
# 2. Validate JSON formatting
# 3. Test with simple requests first
Future Import Features
NOIV is expanding import capabilities:
- OpenAPI/Swagger import (planned)
- Insomnia collection import (under consideration)
- HAR file import (under consideration)
- cURL command import (planned)
Next Steps
After importing your tests:
- Run tests - Execute imported test suites
- AI generation - Enhance with AI-generated tests
- Performance testing - Add benchmarking
- HTML reports - Create professional reports
- HTML Reports - Automate testing workflow
Success!
Successfully migrating from Postman to NOIV preserves your existing testing work while unlocking powerful new capabilities like AI generation, performance testing, and advanced reporting.