Locust es una herramienta de prueba de carga de código abierto. La prueba de carga es un tipo de prueba de software que se lleva a cabo para verificar la tolerancia/comportamiento del sistema bajo una carga esperada específica. El objetivo de Locust es realizar pruebas de carga en los sitios web y verificar la cantidad de usuarios simultáneos que un sistema puede manejar.
Durante una prueba de langostas, un enjambre de langostas atacará el sitio web objetivo, es decir. El comportamiento de cada langosta es configurable y el proceso de enjambre se supervisa desde una interfaz de usuario web en tiempo real.
Especialidad de langosta:
- Los escenarios de prueba se pueden escribir en Python
- Distribuido y escalable
- Interfaz de usuario basada en web
- Cualquier sistema puede ser probado usando esta herramienta
Instalación:
Locust se puede instalar con pip.
pip install locust
Una vez que la langosta se haya instalado con éxito, un comando de langosta debería estar disponible en su shell.
Para ver más opciones disponibles:
locust --help
Empezando:
from locust import HttpLocust, TaskSet, task from locust import ResponseError import json class UserBehavior(TaskSet): def __init__(self, parent): super(UserBehavior, self).__init__(parent) self.token = "" self.headers = {} def on_start(self): # The on_start method is called # when a simulated user starts # executing that TaskSet class self.token = self.login() self.headers = {'Authorization': 'Bearer {}'.format(self.token)} self.login() def login(self): # admin login and retrieving it's access token response = self.client.post("/login/", data = {'username': 'admin', 'password': 'ZYT5nsg3565!'}) return json.loads(response._content)['access'] class WebsiteUser(HttpLocust): # The task_set attribute should point # to a TaskSet class which defines # the behaviour of the user task_set = UserBehavior min_wait = 5000 max_wait = 9000
Inicie langosta:
para ejecutar el código anterior, cree un archivo de Python llamado locustfile.py
y abra el terminal en el directorio del archivo creado anteriormente. Luego escribe el siguiente comando en la terminal.
locust
Nota: Por defecto, Locust busca locustfile.py
.
Después de la ejecución exitosa del comando anterior, debe abrir un navegador y presionar http://127.0.0.1:8089
La interfaz de usuario de Locust aparecerá como se muestra a continuación: