Environment variables
k6 can access environment variables at runtime. You can use environment variables to:- Configure test behavior without modifying the script
- Pass sensitive data like API keys
- Parameterize tests for different environments
- Override k6 options
Accessing environment variables
Access environment variables in your script using the__ENV object:
Setting environment variables
You can set environment variables in multiple ways:- Command line
- .env file
- System environment
Pass variables when running k6:
k6 options via environment variables
You can set k6 options using environment variables with theK6_ prefix:
integer
Number of virtual users
string
Test duration (e.g.,
30s, 5m, 1h)integer
Total number of iterations
string
Output destination (e.g.,
json=results.json, influxdb=http://localhost:8086)boolean
Skip TLS certificate verification
Common patterns
Environment-specific configuration
Sensitive data
Feature flags
Best practices
Provide default values
Provide default values
Always provide fallback values for non-critical environment variables:
Validate required variables
Validate required variables
Fail early if required variables are missing:
Type conversion
Type conversion
Environment variables are always strings. Convert them as needed:
Document required variables
Document required variables
Add comments or README documentation listing required environment variables:
CI/CD integration
Environment variables are particularly useful in CI/CD pipelines:Related resources
Options reference
Complete list of k6 options
Automated testing
Integrating k6 with CI/CD