Skip to content

Advanced CLI tool for load testing web applications and Telegram bots with multiple frameworks including simple HTTP, K6, and others.

License

Notifications You must be signed in to change notification settings

Aisrefot-Reed/ChakLoad-CLI

Repository files navigation

 ██████╗██╗  ██╗ █████╗ ██╗  ██╗██╗      ██████╗  █████╗ ██████╗ 
██╔════╝██║  ██║██╔══██╗██║ ██╔╝██║     ██╔═══██╗██╔══██╗██╔══██╗
██║     ███████║███████║█████╔╝ ██║     ██║   ██║███████║██║  ██║
██║     ██╔══██║██╔══██║██╔═██╗ ██║     ██║   ██║██╔══██║██║  ██║
╚██████╗██║  ██║██║  ██║██║  ██╗███████╗╚██████╔╝██║  ██║██████╔╝
 ╚═════╝╚═╝  ╚═╝╚═╝  ╚═╝╚═╝  ╚═╝╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═════╝ 

Comprehensive CLI tool for load testing web applications and Telegram bots with support for multiple frameworks (Locust, K6, Artillery, JMeter).

Features

  • Interactive terminal interface with color themes
  • Multiple load testing frameworks support
  • Built-in templates for common test scenarios
  • Real-time progress tracking
  • Detailed metrics and reporting
  • Command-based operation with / commands

Installation

https://pypi.org/project/chakload-cli/1.0.0/

pip install chakload-cli==1.0.0

Or using pipx:

pipx install chakload-cli

After installation, run the tool using:

chakload

External Dependencies

Some advanced frameworks require separate installation:

K6:

Locust:

  • Install via pip: pip install locust

JMeter:

Artillery:

  • Install via npm: npm install -g artillery

The built-in frameworks (simple, advanced) are included by default and require no additional installation.

Quick Start

Run the interactive CLI:

chakload

In the interactive mode, you can use commands like:

  • /framework locust - Select Locust as the testing framework
  • /type web-site - Select the type of test
  • /url https://example.com - Set the target URL
  • /users 100 - Set the number of concurrent users
  • /run - Start the load test

Command Reference

  • /help - Show available commands
  • /framework <name> - Select framework (locust, k6, artillery, jmeter)
  • /type <test-type> - Select test type (web-site, telegram-webhook, api-endpoint)
  • /config - Show current configuration
  • /run - Execute the test
  • /results - Show test results
  • /export <format> - Export results (json, csv, html)
  • /theme <name> - Change color theme
  • /exit - Exit the CLI

Supported Test Types

  • Web site testing (HTTP/HTTPS)
  • Telegram bot webhook testing
  • API endpoint testing
  • GraphQL endpoint testing
  • WebSocket connection testing

Supported Frameworks

  • Simple HTTP (Built-in, using requests library)
  • More frameworks coming soon (Locust, K6, Artillery, JMeter)

Configuration

Save and load configuration presets:

# Save current configuration
/config save my-test-config

# Load a saved configuration
/config load my-test-config

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

License

This project is licensed under the MIT License.