Load testing avec Locust
Doc du module Locust : https://pypi.org/project/locust/
Tutoriel vidéo :
- Load Testing in Python with locust.io (Ep. 1 - Basics)
- Load Testing in Python with locust.io (Ep. 2 - Authentication)
- Load Testing in Python with locust.io (Ep. 3 - Data and Failures)
Installation
python -m venv venv
. venv/bin/activate
(venv) pip install locust
Premier test
Créer un fichier tests.py :
from locust import HttpUser, task, between
class WebsiteUser(HttpUser):
wait_time = between(1, 5)
@task
def index_page(self):
self.client.get(url="/hello")
@task
def second_page(self):
self.client.get(url="/about")
Exécuter ce script :
(venv) locust -f tests.py
Cette commande démarre un serveur web local sur le port 8089 : http://localhost:8089
Entrer les paramètres (adresse de l'hôte, nombre d'utilisateurs, ...) et cliquer sur start.
Authentification
Exemple pas encore testé :
from locust import HttpUser, task, between
class WebsiteUser(HttpUser):
wait_time = between(1, 5)
def on_start(self):
self.client.post(
url="/auth/signin",
data={
"email": "marc.lebrun@kingspan.com",
"password": "x"
}
)