Проект locations складається з двох основних частин:
- Додаток, в якому імплементовано роботу з геоданими:
- ➕ Додавання локацій.
- 🧭 Отримання останньої або всіх локацій.
- 🔍 Пошук ресурсів поблизу.
- Автоматизація навантажувального тестування, що включає:
- 🚀 Запуск тест-плану, який виконує визначену кількість запитів протягом певного періоду часу.
- 📊 Збереження отриманих результатів.
- 🐍 Python — основна мова програмування.
- ⚡ FastAPI — асинхронний веб-фреймворк для створення додатка.
- 🗄 MongoDB — документоорієнтована NoSQL база даних, що використана для тестування.
- 🗂 Redis — NoSQL база типу "ключ-значення", що використана для тестування.
- 📈 Apache JMeter — інструмент для виконання навантажувального тестування (використовує компілятор мови Java).
- 🐕 Datadog — платформа для збереження результатів тестування у вигляді метрик.
Для роботи проекту необхідно встановити локальні сервери баз MongoDB та Redis.
Скористайтеся відповідними інструкціями для вашої операційної системи:
Альтернативою є використання Docker для запуску баз даних всередині ізольованого середовища у вигляді контейнерів.
- Встановіть Docker, дотримуючись інструкції.
- Виконайте команду для запуску серверів баз даних у контейнерах:
Файл databases.yaml є конфігураційним файлом для запуску Docker контейнерів і знаходиться в цьому репозиторії.
docker compose -f databases.yaml up -d
Для використання Apache JMeter необхідно:
- Встановити компілятор мови Java за інструкцією.
- Встановити Apache JMeter, дотримуючись інструкції.
- Зареєструйте акаунт на платформі Datadog.
- Згенеруйте токени API_KEY та APP_KEY. Приклади наведено на знімках екрану:
Додаток та автоматизація використовують конфіденційну інформацію, яка не може бути збережена в репозиторії через її чутливість або змінюваність для кожного користувача.
- Шаблон файлу
.env
знаходиться в репозиторії(.env.template)
- У файлі
.env
необхідно вказати:- Адреси хостів та порти для MongoDB і Redis.
- Шлях до встановленого виконуваного файлу JMeter.
- Згенеровані токени для Datadog.
- Цей файл автоматично підвантажується в конфігурації додатка.
На цьому етапі повинні бути виконані наступні умови:
- Запущені сервери баз даних.
- Встановлений Apache JMeter.
- Налаштований акаунт на платформі Datadog.
- Заповнений файл
.env
.
Для запуску автоматизації:
- Встановіть залежності проекту командою:
всередині папки проекту.
python3 -m pip install -r requirements.txt
- Запустіть скрипт автоматизації командою:
python3 -m automation.main
Приклад результату відображений на знімку екрану:
Після виконання скрипта, результати тестування з'являться у вигляді метрик в системі Datadog. Для відображення результатів створіть нову панель та налаштуйте її. Для швидкої конфігурації панелі імпортуйте файл datadog_dashboard.json, який знаходиться в репозиторії. Приклади налаштування панелі наведені на знімках екрану: