pub struct BenchCommand {Show 51 fields
pub spec: Vec<PathBuf>,
pub spec_dir: Option<PathBuf>,
pub merge_conflicts: String,
pub spec_mode: String,
pub dependency_config: Option<PathBuf>,
pub target: String,
pub base_path: Option<String>,
pub duration: String,
pub vus: u32,
pub scenario: String,
pub operations: Option<String>,
pub exclude_operations: Option<String>,
pub auth: Option<String>,
pub headers: Option<String>,
pub output: PathBuf,
pub generate_only: bool,
pub script_output: Option<PathBuf>,
pub threshold_percentile: String,
pub threshold_ms: u64,
pub max_error_rate: f64,
pub verbose: bool,
pub skip_tls_verify: bool,
pub targets_file: Option<PathBuf>,
pub max_concurrency: Option<u32>,
pub results_format: String,
pub params_file: Option<PathBuf>,
pub crud_flow: bool,
pub flow_config: Option<PathBuf>,
pub extract_fields: Option<String>,
pub parallel_create: Option<u32>,
pub data_file: Option<PathBuf>,
pub data_distribution: String,
pub data_mappings: Option<String>,
pub per_uri_control: bool,
pub error_rate: Option<f64>,
pub error_types: Option<String>,
pub security_test: bool,
pub security_payloads: Option<PathBuf>,
pub security_categories: Option<String>,
pub security_target_fields: Option<String>,
pub wafbench_dir: Option<String>,
pub wafbench_cycle_all: bool,
pub owasp_api_top10: bool,
pub owasp_categories: Option<String>,
pub owasp_auth_header: String,
pub owasp_auth_token: Option<String>,
pub owasp_admin_paths: Option<PathBuf>,
pub owasp_id_fields: Option<String>,
pub owasp_report: Option<PathBuf>,
pub owasp_report_format: String,
pub owasp_iterations: u32,
}Expand description
Bench command configuration
Fields§
§spec: Vec<PathBuf>OpenAPI spec file(s) - can specify multiple
spec_dir: Option<PathBuf>Directory containing OpenAPI spec files (discovers .json, .yaml, .yml files)
merge_conflicts: StringConflict resolution strategy when merging multiple specs: “error” (default), “first”, “last”
spec_mode: StringSpec mode: “merge” (default) combines all specs, “sequential” runs them in order
dependency_config: Option<PathBuf>Dependency configuration file for cross-spec value passing (used with sequential mode)
target: String§base_path: Option<String>API base path prefix (e.g., “/api” or “/v2/api”) If None, extracts from OpenAPI spec’s servers URL
duration: String§vus: u32§scenario: String§operations: Option<String>§exclude_operations: Option<String>Exclude operations from testing (comma-separated)
Supports “METHOD /path” or just “METHOD” to exclude all operations of that type.
auth: Option<String>§headers: Option<String>§output: PathBuf§generate_only: bool§script_output: Option<PathBuf>§threshold_percentile: String§threshold_ms: u64§max_error_rate: f64§verbose: bool§skip_tls_verify: bool§targets_file: Option<PathBuf>Optional file containing multiple targets
max_concurrency: Option<u32>Maximum number of parallel executions (for multi-target mode)
results_format: StringResults format: “per-target”, “aggregated”, or “both”
params_file: Option<PathBuf>Optional file containing parameter value overrides (JSON or YAML)
Allows users to provide custom values for path parameters, query parameters, headers, and request bodies instead of auto-generated placeholder values.
crud_flow: boolEnable CRUD flow mode
flow_config: Option<PathBuf>Custom CRUD flow configuration file
extract_fields: Option<String>Fields to extract from responses
parallel_create: Option<u32>Number of resources to create in parallel
data_file: Option<PathBuf>Test data file (CSV or JSON)
data_distribution: StringData distribution strategy
data_mappings: Option<String>Data column to field mappings
per_uri_control: boolEnable per-URI control mode (each row specifies method, uri, body, etc.)
error_rate: Option<f64>Percentage of requests with invalid data
error_types: Option<String>Types of invalid data to generate
security_test: boolEnable security testing
security_payloads: Option<PathBuf>Custom security payloads file
security_categories: Option<String>Security test categories
security_target_fields: Option<String>Fields to target for security injection
wafbench_dir: Option<String>WAFBench test directory or glob pattern for loading CRS attack patterns
wafbench_cycle_all: boolCycle through ALL WAFBench payloads instead of random sampling
owasp_api_top10: boolEnable OWASP API Security Top 10 testing mode
owasp_categories: Option<String>OWASP API categories to test (comma-separated)
owasp_auth_header: StringAuthorization header name for OWASP auth tests
owasp_auth_token: Option<String>Valid authorization token for OWASP baseline requests
owasp_admin_paths: Option<PathBuf>File containing admin/privileged paths to test
owasp_id_fields: Option<String>Fields containing resource IDs for BOLA testing
owasp_report: Option<PathBuf>OWASP report output file
owasp_report_format: StringOWASP report format (json, sarif)
owasp_iterations: u32Number of iterations per VU for OWASP tests (default: 1)
Implementations§
Source§impl BenchCommand
impl BenchCommand
Sourcepub async fn load_and_merge_specs(&self) -> Result<OpenApiSpec>
pub async fn load_and_merge_specs(&self) -> Result<OpenApiSpec>
Load and merge specs from –spec files and –spec-dir
Sourcepub fn parse_duration(duration: &str) -> Result<u64>
pub fn parse_duration(duration: &str) -> Result<u64>
Parse duration string (e.g., “30s”, “5m”, “1h”) to seconds
Auto Trait Implementations§
impl Freeze for BenchCommand
impl RefUnwindSafe for BenchCommand
impl Send for BenchCommand
impl Sync for BenchCommand
impl Unpin for BenchCommand
impl UnwindSafe for BenchCommand
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more