This guide covers all command-line options and usage patterns for the Flow Test Engine CLI.
# Run tests with default configuration
flow-test-engine
# Run specific test file
flow-test-engine my-test.yaml
# Run tests with specific configuration file
flow-test-engine -c my-config.yml| Command | Description | Example |
|---|---|---|
init |
Initialize configuration file interactively | flow-test-engine init |
dashboard <subcommand> |
Manage report dashboard | flow-test-engine dashboard dev |
| (no command) | Run tests with specified options | flow-test-engine --verbose |
| Subcommand | Description |
|---|---|
install |
Install dashboard dependencies |
dev |
Start dashboard in development mode |
build |
Build dashboard for production |
preview |
Preview the built dashboard |
serve |
Build and serve dashboard |
| Option | Short | Description | Example |
|---|---|---|---|
--config <file> |
-c |
Specify configuration file path | --config ./config/prod.yml |
--directory <dir> |
-d |
Override test directory | --directory ./api-tests |
--environment <env> |
-e |
Set environment for variable resolution | --environment staging |
Control the amount of output during execution:
| Option | Description |
|---|---|
--verbose |
Show detailed output including full request/response data |
--detailed |
Show detailed progress without full request/response bodies |
--simple |
Show basic progress (default) |
--silent |
Silent execution, show only errors |
Run only specific subsets of tests:
| Option | Description | Example |
|---|---|---|
--priority <levels> |
Run only tests with specified priorities | --priority critical,high |
--suite <names> |
Run only specified test suites | --suite "login,checkout" |
--node <ids> |
Run only specified test nodes | --node auth-tests,payment-tests |
--tag <tags> |
Run only tests with specified tags | --tag smoke,regression |
| Option | Description |
|---|---|
--dry-run |
Show execution plan without running tests |
--no-log |
Disable automatic log file generation |
--no-report |
Skip generating JSON/HTML report artifacts |
Generate test files from API specifications:
| Option | Description | Example |
|---|---|---|
--swagger-import <file> |
Import OpenAPI/Swagger spec | --swagger-import api.json |
--swagger-output <dir> |
Output directory for generated tests | --swagger-output ./tests/api |
Exchange suites with Postman collections:
| Option | Description | Example |
|---|---|---|
--postman-export <path> |
Export Flow suite(s) to Postman collection JSON | --postman-export tests/auth.yaml |
--postman-output <path> |
Output file or directory for export | --postman-output ./auth.json |
--postman-import <file> |
Import Postman collection JSON | --postman-import collection.json |
--postman-import-output <dir> |
Output directory for generated suites | --postman-import-output ./tests/ |
--postman-export-from-results <file> |
Export from execution results with real data | --postman-export-from-results results/latest.json |
| Option | Short | Description |
|---|---|---|
--help |
-h |
Show help message |
--version |
-v |
Show version information |
# Development with TypeScript loader
npm run dev tests/my-test.yaml -- --verbose
# Run specific test suite by name
flow-test-engine --suite "authentication"
# Run only critical priority tests
flow-test-engine --priority critical
# Run multiple priorities
flow-test-engine --priority critical,high
# Test specific functionality by tags
flow-test-engine --tag "payment,checkout"
flow-test-engine --inline-yaml "$(cat tests/sample.yaml)" --inline-base ./tests (or pipe stdin) – observe JSON execution output; dependencies referenced in the YAML are auto-included.
# Test specific nodes
flow-test-engine --node auth-tests,payment-tests
# Dry run to see execution plan
flow-test-engine --dry-run --detailed
# Silent execution (errors only)
flow-test-engine --silent# Install dashboard dependencies
flow-test-engine dashboard install
# Start development server
flow-test-engine dashboard dev
# Build for production
flow-test-engine dashboard build
# Preview built dashboard
flow-test-engine dashboard preview
# Build and serve
flow-test-engine dashboard serve# Import OpenAPI spec
flow-test-engine --swagger-import ./api-spec.yaml --swagger-output ./tests/api
# Export to Postman collection
flow-test-engine --postman-export tests/auth-test.yaml --postman-output ./auth.json
# Import Postman collection
flow-test-engine --postman-import collection.json --postman-import-output ./tests/
# Export from results with real data
flow-test-engine --postman-export-from-results results/latest.json# Use specific config file
flow-test-engine -c ./config/staging.yml
# Override test directory
flow-test-engine --directory ./integration-tests
# Set environment for variable resolution
flow-test-engine --environment production
# Disable log file generation
flow-test-engine --no-log# Silent execution for CI pipelines
flow-test-engine --silent --priority critical,high
# Run tests for specific environment
flow-test-engine --environment production --config config/prod.yml
# Generate reports without verbose output
flow-test-engine --simple --no-log# Maximum verbosity for debugging
flow-test-engine --verbose --suite "failing-test"
# Run single test file
flow-test-engine --directory ./tests --suite "single-test"
# Check configuration without execution
flow-test-engine --dry-run --config debug-config.yml# Import OpenAPI spec and generate tests
flow-test-engine --swagger-import openapi.json
# Import with custom output directory
flow-test-engine --swagger-import swagger.yaml --swagger-output ./tests/generated
# Import and run generated tests
flow-test-engine --swagger-import api.json && flow-test-engine --directory ./tests/imported
# Export an existing suite to Postman format
flow-test-engine --postman-export tests/auth-flows-test.yaml --postman-output ./exports/auth-flows.postman_collection.json
# Import a Postman collection as Flow tests
flow-test-engine --postman-import ./postman/create-proposal.postman_collection.json --postman-import-output ./tests/imported-postmanThe CLI looks for configuration files in this order:
- File specified via
--configor as argument flow-test.config.ymlflow-test.config.yamlflow-test.ymlflow-test.yaml
If no configuration file is found, default settings are used.
The CLI returns different exit codes based on execution results:
0: All tests passed (100% success rate)1: Some tests failed (less than 100% success rate)130: Process interrupted (SIGINT/Ctrl+C)143: Process terminated (SIGTERM)
The CLI respects these environment variables:
FLOW_TEST_CONFIG: Default configuration file pathFLOW_TEST_ENV: Default environment nameFLOW_TEST_VERBOSE: Set default verbosity (true/false)
# 1. Import API specification
flow-test-engine --swagger-import api-docs.json --swagger-output ./tests/api
# 2. Review generated tests
ls -la ./tests/api/
# 3. Run generated tests
flow-test-engine --directory ./tests/api --verbose
# 4. Run only smoke tests
flow-test-engine --tag smoke --simple# Development environment
flow-test-engine --environment dev --config config/dev.yml --verbose
# Staging environment
flow-test-engine --environment staging --config config/staging.yml --detailed
# Production environment (silent)
flow-test-engine --environment prod --config config/prod.yml --silent# Pre-deployment checks
flow-test-engine --priority critical --silent
# Full regression suite
flow-test-engine --priority critical,high,medium --detailed
# Quick smoke test
flow-test-engine --tag smoke --simple# Run failing test with maximum verbosity
flow-test-engine --suite "failing-suite" --verbose
# Check execution plan
flow-test-engine --dry-run --detailed --suite "problematic-test"
# Run with custom config for debugging
flow-test-engine --config debug.yml --verbose --no-log# Multiple priorities
flow-test-engine --priority critical,high
# Multiple suites
flow-test-engine --suite "auth,user-mgmt,payment"
# Multiple tags
flow-test-engine --tag "smoke,api,integration"
# Combine filters (AND logic)
flow-test-engine --priority high --tag api --suite "checkout"# Run tests by node ID
flow-test-engine --node auth-tests,payment-tests
# Combine with other filters
flow-test-engine --node api-tests --environment stagingBy default, the engine generates log files in the results/ directory. Disable with:
flow-test-engine --no-logApós a execução o engine grava results/latest.json. Use o report-dashboard para visualizar em HTML.
# Iniciar dashboard interativo
npm run report:dashboard:devReports are saved to the directory specified in configuration under reporting.output_dir.
-
Configuration not found
# Specify config explicitly flow-test-engine --config ./flow-test.config.yml -
Tests not discovered
# Check discovery patterns flow-test-engine --dry-run --detailed --directory ./tests -
Environment variables not resolved
# Export variables before running export API_KEY="your-key" flow-test-engine
-
Permission errors
# Check file permissions ls -la flow-test.config.yml
# Show execution plan
flow-test-engine --dry-run --detailed
# Show discovered tests
flow-test-engine --dry-run --verbose
# Validate configuration
flow-test-engine --config your-config.yml --dry-runAdd to package.json:
{
"scripts": {
"test": "flow-test-engine",
"test:smoke": "flow-test-engine --tag smoke --silent",
"test:critical": "flow-test-engine --priority critical",
"test:verbose": "flow-test-engine --verbose",
"test:staging": "flow-test-engine --environment staging --config config/staging.yml",
"test:import": "flow-test-engine --swagger-import api.json"
}
}name: API Tests
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '18'
- run: npm install
- run: npm run test:smoke
- run: npm run test:critical# Run in Docker
docker run --rm -v $(pwd):/app flow-test --config /app/config.yml
# With environment variables
docker run --rm -v $(pwd):/app -e API_KEY=$API_KEY flow-test