Collection Runner
Automate API testing by running entire collections
Overview
The Collection Runner allows you to execute all requests in a collection sequentially with a single click. Perfect for automated testing, load testing, and continuous integration workflows.
Key Features
Sequential Execution
Runs all requests in order automatically
Environment Support
Use environment variables for different setups
Data-Driven Testing
Load data from CSV/TXT files for iterations
Multiple Iterations
Run collection multiple times
Delay Between Requests
Configure wait time between requests
Detailed Results
View comprehensive results and statistics
Running a Collection
Open Collection Runner
Click the "Collection Runner" tab in the main interface.
Select Collection
Choose a collection from your sidebar or upload a JSON file.
Configure Run Settings
- Environment: Select environment (optional)
- Iterations: Number of times to run (default: 1)
- Delay: Wait time between requests (ms)
Click "Run Collection"
Click the Run Collection" button to start execution.
View Progress
Watch requests execute in real-time with live progress bar.
View Results
See detailed results with pass/fail status for each request.
Data-Driven Testing
Run your collection with different data for each iteration using CSV or TXT files:
Preparing Data File
Create a CSV file with your test data:
username,email,role
john_doe,john@example.com,admin
jane_smith,jane@example.com,user
bob_jones,bob@example.com,manager
Using Data Variables
Upload Data File
In Collection Runner, click "Upload Data File" and select your CSV.
Use Variables in Requests
Reference CSV columns in your requests:
POST {{baseUrl}}/users
Body:
{
"username": "{{username}}",
"email": "{{email}}",
"role": "{{role}}"
}
Run Collection
Collection runs once for each row in your CSV!
Understanding Results
Summary Statistics
At the top of results, you'll see:
- Total Requests: Number of requests executed
- Passed: Successful requests (status 2xx or tests passed)
- Failed: Failed requests or failed tests
- Total Time: Time taken for entire run
- Average Time: Average response time per request
Individual Request Results
For each request, view:
- Request Name: Name from collection
- Status: Pass or Fail
- Status Code: HTTP response code
- Response Time: Time taken
- Test Results: Which tests passed/failed
Expanding Results
Click any request to see:
- Full request details (URL, headers, body)
- Complete response body
- Response headers
- Test script output
- Console logs
Common Use Cases
1. Smoke Testing
Verify all endpoints are responding:
Iterations: 1
Delay: 0ms
Result: Quick health check
2. Integration Testing
Test complete user flows:
1. Login
2. Get Profile
3. Update Profile
4. Logout
3. Load Testing
Stress test with iterations:
Iterations: 1000
Delay: 100ms
With dynamic variables
4. Data Migration
Bulk import from CSV:
CSV: 500 users
Iterations: auto
Create all users
5. Regression Testing
Test after code changes:
Run full test suite
Verify no breakage
CI/CD integration
6. Multi-Environment
Test across environments:
Run with Dev env
Run with Staging env
Run with Prod env
Best Practices
1. Add Test Scripts
Validate responses with test assertions for automatic pass/fail detection.
2. Use Delays
Add delays between requests to avoid overwhelming servers.
3. Organize Collections
Keep related requests together in logical order.
4. Use Variables
Leverage environment and data variables for flexibility.
5. Start Small
Test with few iterations first, then scale up.
6. Monitor Results
Review detailed results to identify issues quickly.
Advanced Features
Collection Scripts
Run scripts before/after every request in collection:
// Collection Pre-request Script
rm.environment.set("timestamp", Date.now());
console.log("Starting request at:", new Date());
// Collection Test Script
rm.test("Response time acceptable", function() {
rm.expect(rm.response.responseTime).to.be.below(1000);
});
Chaining Requests
Use test scripts to pass data between requests:
// Request 1: Login
const response = rm.response.json();
rm.environment.set("authToken", response.token);
// Request 2: Get Profile (uses authToken)
Conditional Execution
Skip requests based on conditions:
// In Pre-request Script
if (rm.environment.get("skipAdmin") === "true") {
rm.skipRequest();
}
Exporting Results
Save run results for documentation or reporting:
Complete Run
Finish running your collection.
Click "Export Results"
Find the export button in the results panel.
Choose Format
- JSON: Complete data for programmatic use
- HTML: Beautiful report for sharing
- CSV: Import into Excel/Sheets