The core load-test.exe engine is built for reliability. When multiple inputs exist, the engine follows a simple rule: CLI flags override environment-variable fallbacks. The recorded JSON remains the replay contract, and specific replay flags (like -baseUrlOverride) may override specific values explicitly.
1. Installation & Package Choice
Choose the package that matches how you want to run Futuristic Webload:
- Light: smaller download; Chromium is downloaded automatically on first use.
- Offline: larger download; Chromium is included in the package.
No separate Chromium install step is required for the Windows desktop packages. If you deploy load-test or another browser worker onto your own machine, VM, or custom image, include the Chromium and OS dependencies in that environment before you run tests.
2. Base Commands
| Command |
Behavior |
load-test.exe | Opens the visual editor (defaults to recording.json). |
load-test.exe -edit <file.json> | Opens the editor directly on the specified script. |
load-test.exe -replay <file.json> | Executes the script in headless mode by default. |
3. Replay & Orchestration Options
These flags control the concurrency, speed, and behavior of the browser workers.
| Option |
Description |
Example |
-zipInput <file.zip> |
Advanced: replay from a zip bundle. The tool extracts the zip, tries to locate recording.json, and replays it. |
-zipInput "C:\Runs\trace.zip" |
-unzipFolder <path> |
Advanced: where to extract -zipInput. Defaults to the zip folder. |
-unzipFolder "C:\Temp\unzip" |
-runXUser <N> |
Concurrency: runs up to N users in isolated contexts. |
-runXUser 50 |
-useDatabank <sel> |
Databank index: 1, N, or random. |
-useDatabank random |
-recycleUsers |
Recycles databank users when the end of the file is reached. |
-runXUser 100 -recycleUsers |
-replaySpeed <X> |
Scaling factor for waits (e.g., 2 = 2x faster). random uses jitter. |
-replaySpeed 2.5 |
--dry-run |
Validates JSON and summary without launching browsers. |
--dry-run |
-withUX |
Shows the browser windows (Headful mode). |
-withUX |
-outDir <path> |
Sets the root directory for artifacts and reports. |
-outDir "C:\Runs" |
-chromePath <path> |
Override path to Chromium/Chrome binary. |
-chromePath "/usr/bin/google-chrome" |
-baseUrlOverride <url> |
Overrides the script base URL for navigation. |
-baseUrlOverride "https://staging.acme.com" |
4. Advanced Orchestration (Internal Contracts)
Used primarily by shard-run or cloud orchestrators to manage sync points and distributed state.
| Flag |
Environment Variable |
Description |
-runSlot <N> |
RUN_SLOT |
Sets the orchestration slot for the current process (e.g., 2 becomes RUN_SLOT=2 and FWL_RUN_ID=run-2). Useful for 1-line DevOps scripts and shard runners. |
-cloudTaskKey |
FWL_CLOUD_TASK_KEY |
Unique key for identifying the run in SaaS/Cloud APIs. |
-cloudSyncTimeoutSec |
FWL_CLOUD_SYNC_TIMEOUT |
Wait time for distributed sync points (JSON-only support). Default 600s. |
5. Vitals & Metrics Tuning
Control the overhead of telemetry collection for massive scale runs.
| Option |
Description |
Default |
-noVitals |
Completely disables browser vitals collection. |
Enabled |
-maxVitalsPerMinute <N> |
Caps the sampling rate of vitals per user. |
60 |
-runtimeMetricsIntervalMs |
Interval for browser resource sampling (CPU/RAM). |
5000ms |
-noBrowserSnapshot |
Disables screenshots and trace snapshots for maximum throughput. |
Enabled |
6. The Deterministic Engine
Futuristic Webload differs from traditional tools by keeping replay deterministic: the engine executes the recorded steps in order, and it does not "self-heal", retry, or make AI-like decisions during replay. If a selector resolves to zero elements (or multiple elements), replay fails fast so you can fix the script or the environment instead of masking the issue.
Sync Points
In distributed runs, workers can be configured to "Wait for Go" at specific steps. This allows you to coordinate 10,000 users to click "Submit" at the exact same millisecond, creating a true peak-load spike.
7. Environment Fallbacks
| Variable |
Fallback For |
FWL_CLIENT_CERT_PASSWORD | -clientCertPassword |
FWL_CAPTCHA_BYPASS_LICENSE | -captchaBypassLicense |
FWL_NETWORK_POLICY_PATH | -networkPolicy |
FWL_IDENTITY_INJECTION_FOLDER | -identitiesFolder |
8. Practical Examples
Multi-Environment Testing
Run the same recording.json against different environments without modifying the script:
// Test against Staging
load-test.exe -replay recording.json -baseUrlOverride "https://staging.myapp.com"
// Test against Production
load-test.exe -replay recording.json -baseUrlOverride "https://prod.myapp.com"
Extreme Load Optimization (10k+ Users)
When scaling to massive numbers, disable all heavy telemetry to minimize node CPU/RAM usage:
load-test.exe -replay recording.json -runXUser 200 -noVitals -noBrowserSnapshot
Longevity & Soak Testing
Keep the load constant by recycling databank users indefinitely:
load-test.exe -replay recording.json -runXUser 50 -recycleUsers
Headful Debugging
Watch exactly what the browser is doing during a failure (headful mode):
load-test.exe -replay recording.json -withUX -replaySpeed 0.5
Using External Databanks
Inject a fresh dataset without touching your main script file:
load-test.exe -replay recording.json -databankFile "prod_users.json" -useDatabank random
Replay From a Zip Bundle (Advanced)
If you received a zipped bundle (for example from a CI artifact), you can replay directly from the zip. The tool extracts the zip and searches for recording.json inside it.
load-test.exe -zipInput "C:\Artifacts\run-bundle.zip"