Skip to main content

⚡️ A zero-config, masterpiece tool for Load, Network, and DB testing (Modern Webview UI).

Project description

StormQA Logo

⚡ StormQA Enterprise (v3.0)

The Ultimate Load & Chaos Engineering Platform.
Zero-Config. Python Core. React UI. Infinite Power.

PyPI version Python React License


🌪️ Why StormQA? (The JMeter Killer)

Stop wrestling with XML in Apache JMeter. Stop writing boilerplate JavaScript in k6.

StormQA v3.0 is built for the modern engineer who values speed and power. We combined the raw performance of a Python Async engine with the beauty of a React frontend to create the ultimate testing suite.

With StormQA, you get Chaos Engineering, WebSocket Testing, and AI Analysis out of the box—features that other tools require complex plugins or scripts to achieve.

"StormQA makes JMeter look like a fossil and k6 look like homework."


🔥 Key Features: The Full Arsenal

⚛️ 1. Next-Gen Dashboard & UI

A completely redesigned interface using React & Glassmorphism.

  • Real-time Monitoring: Watch Users, RPS, and Latency update in milliseconds.
  • Trend History: Track your API performance over time with historical charts stored in a local SQLite database.

🐢💣 2. Chaos Injection (Chaos Engineering)

Test your system's resilience, not just its speed.

  • Latency Injection: Randomly slow down requests to simulate poor network conditions (e.g., 3G simulation).
  • Connection Drops: Intentionally fail a percentage of requests to verify your API's error handling and retry logic.

📂 3. Data-Driven Testing (CSV)

Simulate real-world traffic with real data.

  • Attach CSV: Upload a file with thousands of rows (e.g., users.csv).
  • Dynamic Injection: Use {{username}} or {{token}} in your URL, Headers, or Body. StormQA cycles through the data automatically.

🔗 4. Smart Logic: Extract & Assert

Build complex workflows without writing code.

  • Variable Extraction: Extract a value (like an AuthToken) from a login response and use it in subsequent requests.
  • Success Criteria: Define strict Pass/Fail rules (e.g., p95 < 500ms OR error_rate < 1%). If the rule breaks, the test fails.

🔌 5. Native WebSocket Support

HTTP is not enough.

  • Socket Stress: Open thousands of concurrent WebSocket connections.
  • Message Echo: Send messages and measure the precise Round-Trip Time (RTT).

💾 6. Portable Scenarios

  • Import/Export: Save your complex test configurations as .sqa files and share them with your team.
  • cURL Import: Paste a cURL command, and StormQA automatically configures the test.

🤖 7. AI-Powered Analysis

  • Smart Insights: The engine analyzes your results and generates a human-readable summary.
  • Friendly Report: Generates a PDF report that tells you exactly where the bottlenecks are.

💎 Visual Tour

⚡ The Command Center

The new dashboard provides a comprehensive view of your system's health.

Main Dashboard

🔥 Chaos & Advanced Logic

Configure failure scenarios, thresholds, and data extraction in one place.

Chaos Injection

🔌 WebSocket Monitor

Test your real-time infrastructure with a dedicated socket stress tool.

WebSocket Test


📦 Installation

StormQA is available on PyPI. Follow these steps to get started correctly.

1️⃣ Create a Virtual Environment

It's recommended to create a separate virtual environment for the project to avoid conflicts.

python3 -m venv venv

2️⃣ Activate the Environment

  • On Linux/macOS:
source venv/bin/activate
  • On Windows:
.\venv\Scripts\activate

3️⃣ Install StormQA

Now that your environment is active, install the package:

pip install stormqa

🎯 Usage Modes

🖥️ GUI Mode

The graphical interface is perfect for designing scenarios, visualizing chaos, and monitoring live metrics.

stormqa open

💻 CLI Mode (CI/CD Ready)

StormQA includes a powerful CLI for headless execution in pipelines (Jenkins, GitLab CI, GitHub Actions).

Run a Load Test with Chaos:

stormqa load [http://api.server.com](http://api.server.com) --users 100 --chaos --chaos-type latency

Run a WebSocket Test:

stormqa ws ws://chat.server.com --duration 30

Generate AI Report:

stormqa report

📚 CLI Command Reference

Command Description Example
stormqa start Shows the welcome banner and guide. stormqa start
stormqa open Launches the React-based GUI. stormqa open
stormqa load Runs a headless load test. Supports Chaos & Thresholds. stormqa load google.com --chaos
stormqa ws (NEW) Runs a WebSocket stress test. stormqa ws ws://echo.org
stormqa network Simulates network conditions. stormqa network google.com --profile 3G
stormqa db Discovers and floods DB endpoints. stormqa db api.com --mode discovery
stormqa report (NEW) Generates a PDF report from the last run. stormqa report

Enjoying StormQA?

❤️ Support the Development

Building enterprise-grade tools requires coffee and dedication. Support the project here:

💎 Donate & Support

Powered by Testeto | Developed by Pouya Rezapour


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

stormqa-3.0.1.tar.gz (206.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

stormqa-3.0.1-py3-none-any.whl (207.3 kB view details)

Uploaded Python 3

File details

Details for the file stormqa-3.0.1.tar.gz.

File metadata

  • Download URL: stormqa-3.0.1.tar.gz
  • Upload date:
  • Size: 206.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for stormqa-3.0.1.tar.gz
Algorithm Hash digest
SHA256 b6cc312f882b0421a8480176c67500fb600d19dac93f2e84214d4dc74254d978
MD5 e2d2d0e1914d6a7087f54a8c390bb158
BLAKE2b-256 ded8dad990d4887649dbb441fa8d92a608b455353c6a57e1aec0e9f4576bbac6

See more details on using hashes here.

File details

Details for the file stormqa-3.0.1-py3-none-any.whl.

File metadata

  • Download URL: stormqa-3.0.1-py3-none-any.whl
  • Upload date:
  • Size: 207.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for stormqa-3.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 491de1088a5e23d6d4fc7b5a5704b16372571847ccf807cf869a5ef4b84386e2
MD5 9598bf0243ae90589879c3d21723ef2d
BLAKE2b-256 8b0bd62a9bd0cdfaf7e834e95d8972abc392ce42a068e248183217e6d22051e5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page