Locust的构造方法
from locust import HttpLocust,TaskSet,task
class LoginDemo(TaskSet):
#在继承TaskSet时,on_start相当于构造方法
def on_start(self):
print("我执行过一次")
@task
def doLogin(self):
user = {"username": "admin", "password": "111111"}
data = self.client.post(url="/user/login", json=user)
print(data.text)
class WebSite(HttpLocust):
task_set = LoginDemo
min_wait = 1000
max_wait = 2000
if __name__ == '__main__':
import os
os.system("locust -f LoginDemo.py --host=ipxxxxxxx")
断言
from locust import HttpLocust,TaskSet,task
import random
import json
class LoginDemo(TaskSet):
#在继承TaskSet时,on_start相当于构造方法
def on_start(self):
print("我执行过一次")
@task
def doLogin(self):
num = random.randint(1,3)
password = "11111"+str(num)
user = {"username": "admin", "password": password}
#断言方法,要在请求加入参数开启catch_response=True
data = self.client.post(url="/user/login", json=user,catch_response=True)
print(data.text)
#把响应值转成JSON方便调用
resp = json.loads(data.text)
#判断状态码是否200,成功返回正确,失败提示失败原因
if 200 == resp['code']:
data.success()
else:
data.failure('失败')
class WebSite(HttpLocust):
task_set = LoginDemo
min_wait = 1000
max_wait = 2000
if __name__ == '__main__':
import os
os.system("locust -f LoginDemo.py --host=http:xxxxxx2")
设置权重
可以给注解@task设置权重来设置运行占比
@task(100)
简单设置分布
https://www.cnblogs.com/yoyoketang/p/11681370.html