Skip to content

mohammadbashibdar/tester-fastapi-

Repository files navigation

Endpoint Performance Tester

یک ابزار قدرتمند برای تست کردن اندپوینت‌های API و اندازه‌گیری عملکرد آن‌ها بر اساس ساختار MVC.

ویژگی‌ها

  • تست همزمان چندین اندپوینت
  • اندازه‌گیری زمان پاسخ، RPS، و نرخ خطا
  • لاگ‌گیری کامل عملکرد
  • خروجی در فرمت‌های مختلف (JSON, CSV, Markdown)
  • رابط تعاملی و خط فرمان
  • پشتیبانی از انواع مختلف HTTP methods
  • آمارگیری دقیق (میانگین، میانه، P95, P99)

نصب

pip install -r requirements.txt

استفاده

حالت تعاملی

python main.py --interactive

اجرا از فایل کانفیگ

python main.py --config sample_config.json

ایجاد فایل نمونه

python main.py --create-sample

ساختار پروژه

python/
├── models/              # مدل‌های داده
│   └── test_config.py
├── controllers/         # کنترلرها
│   ├── test_executor.py
│   └── test_manager.py
├── views/              # نمایش نتایج
│   └── result_display.py
├── config/             # تنظیمات
│   └── logging_config.py
├── logs/               # فایل‌های لاگ
├── main.py             # نقطه ورود اصلی
└── requirements.txt    # وابستگی‌ها

مثال فایل کانفیگ

{
  "name": "API Test Suite",
  "base_url": "https://api.example.com",
  "concurrent_requests": 5,
  "test_duration_seconds": 30,
  "warmup_requests": 3,
  "endpoints": [
    {
      "name": "Get Users",
      "url": "/users",
      "method": "GET",
      "headers": {
        "Authorization": "Bearer your-token"
      },
      "expected_status_code": 200
    }
  ]
}

لاگ‌ها

  • logs/endpoint_tester_YYYYMMDD.log - لاگ کامل
  • logs/performance_YYYYMMDD.log - لاگ عملکرد
  • logs/errors_YYYYMMDD.log - لاگ خطاها

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages