⚡️ A zero-config, masterpiece tool for Load, Network, and DB testing (Modern Webview UI).
Project description
⚡ StormQA Enterprise (v3.0)
The Ultimate Load & Chaos Engineering Platform.
Zero-Config. Python Core. React UI. Infinite Power.
🌪️ 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 < 500msORerror_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
.sqafiles 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.
🔥 Chaos & Advanced Logic
Configure failure scenarios, thresholds, and data extraction in one place.
🔌 WebSocket Monitor
Test your real-time infrastructure with a dedicated socket stress tool.
📦 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:
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b56f9df7ee499a554cf8af9e7dd851502cfc6ba12ad7f3def6b5d82ee4b1e926
|
|
| MD5 |
a31904c2a5850189c5d35db91324b6d8
|
|
| BLAKE2b-256 |
9abf086c5145a785a54b1ad7935047d7d92f85f796b48148ba935f6ddb75089f
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0f89247d06ac08be450bdfecfa895cb26a1a1e41f138959d06c5bd7efa7ed58
|
|
| MD5 |
7de0766d0784a2db125e1488029782f8
|
|
| BLAKE2b-256 |
4b2b66469b8f31ddab391aec3202e03fc1050f720f86665efb1af1815a356d92
|