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! 🙂