# _*_coding:utf-8_*_
# @Time : 2021/1/22 13:27
# @Author : CarpLi
# @File : first.py
# @Desc : locust快速启动第一个程序
from loguru import logger
from locust import HttpUser, task, between
class LoadApiUser(HttpUser):
# 1、指定host和用户访问接口的休眠时间
host = "https://www.baidu.com"
wait_time = between(3, 5)
# 2、@task装饰器指定权重
@task(2)
def user_info(self):
logger.info("访问 ---> /user")
# 3、使用requests模块发送http请求,name可以设置别名
self.client.get("/user", name="获取用户信息")
@task(1)
def app_list(self):
logger.info("访问 ---> /app")
self.client.get("/app", name="获取应用列表")
# 4、每个虚拟用户启动时,调用
def on_start(self):
self.login()
logger.info("压测开始")
# 5、每个虚拟用户停止时,调用
def on_stop(self):
logger.info("压测结束")
def login(self):
logger.info("模拟用户登陆")
self.client.post("/login", name="登陆-获取Token")
if __name__ == '__main__':
# 6、指定web的host和port
""" locust -f first.py --web-port 8082 --web-host=127.0.0.1 """
# 7、命令行执行的基本参数
# -u 总人数 -r 每秒启动的人数 -t 持续时间 --headless 无界面模式启动
"""" locust -f first.py -u 10 -r 1 -t 10 --headless """
pass