JSON Config

Configure runner behavior from appsettings JSON instead of hardcoding runtime options.

LoadConfig

Use LoadConfig(path) to load runtime config and LoadInfraConfig(path) for sink/plugin infrastructure settings. TypeScript/JavaScript BuildContext run flows also honor `--config=<path>` and `--infraconfig=<path>` CLI overrides at execution time.

Supported Keys

JSON config supports TestSuite, TestName, SessionId, ReportFolder, ReportFileName, ReportFormats, ReportingIntervalMs, node/cluster settings, runner key settings, and timeout values.

Parsing Rules

Boolean keys use strict true/false parsing only. Config and CLI key lookup is case-insensitive. List-like keys such as ReportFormats, TargetScenarios, AgentTargetScenarios, and CoordinatorTargetScenarios are comma-delimited and de-duplicated using case-sensitive ordinal matching. ReportFormats accepts strict tokens only: txt, html, csv, md (plus markdown alias). NodeType numeric tokens map to 0=SingleNode, 1=Coordinator, 2=Agent.

Override Order

Base context values are merged with JSON settings, and CLI arguments can override both for one-off execution changes.

Feature Usage Samples

How to use snippets for JSON Config.

Switch between C#, Java, Python, TypeScript, and JavaScript to see the native SDK shape for this sample.

Licensing note: every runnable sample requires a valid runner key via WithRunnerKey("...") or config key LoadStrike:RunnerKey.

JSON Config

LoadStrikeRunner.RegisterScenarios(scenario).LoadConfig("./appsettings.loadstrike.json").Run();

Minimal JSON

ReportFolder

Controls where generated reports are written when the run completes.

RunnerKey

Supplies the runner key required for licensed execution.

Environment detection

LoadStrike automatically classifies the host as local or remote instead of reading a RunnerEnvironment setting from config.

Boolean rules

Boolean config values must use strict true or false tokens.

List rules

List-like fields are comma-delimited and keep case-sensitive distinct tokens in the final merged config.

{ "LoadStrike": { "ReportFolder": "./reports", "RunnerKey": "rkl_your_local_runner_key" } }