Rob / locustfile.py
danylokhodus's picture
admin panel
769004e
Raw
History Blame Contribute Delete
1.77 kB
import time
from locust import HttpUser, task, between
class RobDeliveryUser(HttpUser):
# Время ожидания между задачами от 1 до 5 секунд
wait_time = between(1, 5)
token = ""
def on_start(self):
""" Вызывается при старте теста для каждого пользователя """
self.login()
def login(self):
# Эндпоинт логина с префиксом api/
response = self.client.post("/api/Auth/login", json={
"email": "cafe_555@example.com",
"password": "Cafe123!"
})
if response.status_code == 200:
# В вашем бэкенде токен возвращается в поле "token"
self.token = response.json().get("token")
else:
print(f"Login failed: {response.status_code} - {response.text}")
@task(3)
def view_orders(self):
""" Просмотр своих заказов """
if not self.token: return
headers = {"Authorization": f"Bearer {self.token}"}
self.client.get("/api/Order/my-orders", headers=headers)
@task(1)
def view_profile(self):
""" Просмотр своего профиля """
if not self.token: return
headers = {"Authorization": f"Bearer {self.token}"}
self.client.get("/api/User/profile", headers=headers)
@task(2)
def check_available_robots(self):
""" Просмотр доступных роботов (доступно всем пользователям) """
if not self.token: return
headers = {"Authorization": f"Bearer {self.token}"}
self.client.get("/api/Robot/available", headers=headers)