locust的使用

from locust import HttpLocust,TaskSet,task,HttpUser
import os
import csv
from gevent._semaphore import Semaphore
all=Semaphore()
all.acquire()
 
 
class TestLogin(TaskSet):
def on_start(self):
all.wait(20)
# @task
# def login(self):
# data={
# 'phone': '17802198459',
# 'password': 'c11c268381164c067136287ee5acd001',
# 'code': '0000'
# }
# resp=self.client.post('/api/user/captcha-login',data=data)
# print(resp)
@task(2)
def get_detail(self):
self.sessionId='将获取的sessionId传进来'
url='/api/console/overview?call_end=1648137599999'
data={
'sessionId':self.sessionId
}
resp=self.client.get(url,data=data)
result=resp.status_code
print(resp.status_code)
if result==200:
with open('result.csv','a',newline='') as file:
witer=csv.writer(file)
witer.writerow(['get_detail','测试成功'])
else:
with open('result.csv','a',newline='') as file:
witer=csv.writer(file)
witer.writerow(['get_detail','测试失败'])
 
@task(1)
def query_graph(self):
url='/api/users/graph'
data={
'sessionId':self.sessionId
}
resp=self.client.get(url,data=data)
result=resp.status_code
if result==200:
with open('result.csv','a',newline='') as file:
write=csv.writer(file)
write.writerow(['query_graph','测试成功'])
else:
with open('result.csv','a',newline='') as file:
write=csv.writer(file)
write.writerow(['query_graph','测试失败'])
 
 
class WebStart(HttpUser):
host = 'http://192.168.52.156'
tasks=[TestLogin]
min_wait=3000
max_wait=5000
 
if __name__ == '__main__':
os.system('locust -f test1.py')
 
二、locust版本
一般用0.13.5就行
posted @ 2022-08-03 16:52  heguotao  阅读(35)  评论(0)    收藏  举报