Load testing avec Locust

Doc du module Locust : https://pypi.org/project/locust/

Tutoriel vidéo :

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"
			}
		)