Why not try it!

Intalar Locust en Windows

Instalación

  1. Instalar Python:

  2. Instalar Locust:

    • Abrir Power Shell como administrador:
    • Ejecutar > python para checar la correcta instalación. Debemos tener como respuesta algo parecido a lo siguiente:
    Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 22:20:52) [MSC v.1916 32 bit (Intel)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    
    • Salir de python con:
    >>>quit()
    
    • Crear un directorio (donde [user] es su usuario) en el descargaremos pip (librería necesarias para instalar paquetes en python):
    > mkdir C:\Users\[user]\envs
    
    • Movernos al directorio: > cd C:\Users\[user]\envs
    • Asegurar que nuestra sistema operativo soporta TLS 1.2. Si la respuesta es TRUE si lo soporta.
    > [Enum]::GetNames([Net.SecurityProtocolType]) -contains 'Tls12'
    
    • Asegurar que está habilitado TLS 1.2:
    > [Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12
    
    • Descarga pip con:
    > (new-object System.Net.WebClient).DownloadFile('https://bootstrap.pypa.io/get-pip.py', 'C:\Users\[user]\envs\get-pip.py')
    
    • Instalar pip con: > python .\get-pip.py
    • Revisar que pip está instalado: > pip -V con una respuesta similar a:
    pip 21.0.1 from c:\users\[user]\appdata\local\programs\python\python37-32\lib\site-packages\pip (python 3.7)
    
    • Eliminar los archivos descargados con: > Remove-Item path C:\Users\[user]\envs
    • Crear un ambiente virtual (venv) para que las instalaciones de los paquetes sean locales a un proyecto y no globales para la máquina:
    > cd C:\Users\[user]
    > python -m venv env
    
    • Activar en ambiente virtual: > .\env\Scripts\activate con resultado:
    (env) PS C:\Users\[user]>
    

    Importante saber que cada vez que queramos utilizar los paquetes específicos de un ambiente virtual, es necesario activar el ambiente.

    • Instalar Locust: > pip install locust
    • Revisar que locust está instalado con: > locust -V con respuesta similar a:
    locust 1.4.3
    

    (Si tenemos problemas de permisos debemos abrir Power Shell como administrador y ejecutar: >Set-ExecutionPolicy Unrestricted)

  3. Crear archivo de locust (locustfile.py)

    from locust import HttpUser, task, between
    # otras librerías a importar
    
    
    # clase que contiene un set de pruebas (puede haber varios)
    class PruebaLogin(HttpUser):
        # tiempo a esperar entre ejecuciones
        wait_time = between(.5, 5)
        # función de la primera tarea a ejecutar con proporción de veces de ejecución
        @task(1)
        def get_login(self):
            # código de la tarea a ejecutar
            self.client.request("GET", "/ProCotiza_DM/Login.aspx")
        # función de la segunda tarea
        @task(4)
        def post_login(self):
            # código de la tarea a ejecutar
            self.client.request("POST", "/ProCotiza_DM/Login.aspx", headers=head, data=data)
        # otras tareas
    # otras clases con otros set de pruebas
    class PruebaPantallaA(HttpUser):
        # tiempo a esperar entre ejecuciones
        wait_time = between(.5, 5)
        # ...
    
  4. Ejecutar el archivo de locust

    • Abrir Power Shell, activar el ambiente virtual y ejecutar:
    locust -f locustfile.py -H https://[ip o url para probar]
    
    • Permitir el acceso a Python a redes.
    • La respuesta en Power Shell debe de ser:
    DESKTOP-DM2O61V/INFO/locust.main: Starting web interface at http://0.0.0.0:8089 (accepting connections from all network interfaces)
    [2021-02-12 21:31:29,497] DESKTOP-DM2O61V/INFO/locust.main: Starting Locust 1.4.3
    
    • Para frenar la ejecución de Locust utilizar Ctrl + c
  5. Utilizar Locust

    • Accesar Locust utilizando cualquier navegador en http://localhost:8089
    • Agregar el número de usuarios concurrentes finales.
    • Agregar el número de usuarios a crear por segundo.
    • Click en "Start swarming"

##locust ##windows