Saltar al contenido

Prueba de carga en una API usando Python

Solución:

Eche un vistazo al paquete Faker Python. Esto genera datos falsos para usted, ya sea que necesite iniciar su base de datos, crear documentos XML atractivos, completar su persistencia para realizar una prueba de estrés o anonimizar los datos tomados de un servicio de producción, Faker es para usted.

from locust import HttpLocust, TaskSet, task
class UserBehavior(TaskSet):
    def on_start(self):
        pass  # add code that you want to run during ramp up

    def on_stop(self):
        pass  # add code that you want to run during ramp down

    def registration(self):
        name = fake.first_name()
        last_name = fake.last_name()
        password = ''
        email = name + last_name + '@gmail.com'
        phone = fake.phone_number()
        URL = "ip"
        PARAMS = {'name':name,'password': password,'primary_email': email,'primary_mobile_number':phone,'country_abbrev':'US'} 
        self.client.post(URL, PARAMS)

class WebsiteUser(HttpLocust):
    task_set = UserBehavior
    min_wait = 5000
    max_wait = 9000

Para iniciar la prueba de carga, ejecute
locust -f locust_files/my_locust_file.py --host=http://example.com
Para obtener más información, visite el inicio rápido de Locust

from locust import HttpLocust, TaskSet

def login(self):
    params= {'name':'test','password':'test1','primary_email':'[email protected]','primary_mobile_number':'9999999999','country_abbrev':'US'}
    self.client.post(URL, data=params)
    #The data parameter or json can both be used here. If it's a dict then data would work but for json replace data with json. For more information you can check out requests package as Locust internally uses requests only.

class UserBehavior(TaskSet):
    tasks = {index: 2, profile: 1}

    def on_start(self):
        login(self)

    def on_stop(self):
        pass

    @task
    def try(self):
       pass

class WebsiteUser(HttpLocust):
    task_set = UserBehavior
    min_wait = 5000
    max_wait = 9000

Para iniciar la prueba de carga, ejecute locust -f locust_files / my_locust_file.py –host = http: //example.com donde host sería su IP. Luego, puede ir a 127.0.0.1:8089 para seleccionar el número de usuarios virtuales que desea simular. En Windows hay una limitación de solo 1024 usuarios. Pero puede utilizar el increíble soporte de Master Slave Architecture proporcionado por Locust.

PD: Cualquier cosa que se ponga en el on_start El método se ejecuta solo una vez para cada usuario. Entonces, dado que desea probar el límite de la API, debería preferir agregar esa solicitud en el @tarea decorador.

¡Espero que esto ayude! 🙂

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *