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.2.tar.gz (206.6 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.2-py3-none-any.whl (207.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: stormqa-3.0.2.tar.gz
  • Upload date:
  • Size: 206.6 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.2.tar.gz
Algorithm Hash digest
SHA256 b56f9df7ee499a554cf8af9e7dd851502cfc6ba12ad7f3def6b5d82ee4b1e926
MD5 a31904c2a5850189c5d35db91324b6d8
BLAKE2b-256 9abf086c5145a785a54b1ad7935047d7d92f85f796b48148ba935f6ddb75089f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: stormqa-3.0.2-py3-none-any.whl
  • Upload date:
  • Size: 207.7 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f0f89247d06ac08be450bdfecfa895cb26a1a1e41f138959d06c5bd7efa7ed58
MD5 7de0766d0784a2db125e1488029782f8
BLAKE2b-256 4b2b66469b8f31ddab391aec3202e03fc1050f720f86665efb1af1815a356d92

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