from locust import HttpLocust, TaskSet, task import uuid, time import logging,json # https://docs.locust.io/en/stable/third-party-tools.html class UserBehavior(TaskSet): # tasks = {profile: 1} def on_start(self): pass def on_stop(self): # logout(self) pass @task def startInferenceJob(l): # 172.16.153.113:8087 global uri uri = "localhost:8087" global head head = {"content-type": "application/json", "seqno": "9b6b20d335ac47aa85998ddefe687f7a", "appid": "9999", "timestamp": "{}".format(str(int(time.time() * 10000)))} global uids uids = str(uuid.uuid1()).replace("-", '') dt={"k1":6666} with l.client.post(uri + "/api/v1/startInferenceJob", data=json.dumps(dt), headers=head,catch_response=True) as res: if res.json()["retcode"]!=0: res.failure("fail") logging.info("原始查询结果:{}".format(res.json())) qdt = {"appid": "9999", "caseid": "{}".format(uids)} with l.client.post(uri + "/api/v1/getInferenceResult", data=json.dumps(qdt), headers=head,catch_response=True)as s2: if s2.json()["retcode"]!=0: s2.failure("fail") logging.info("模型: {}".format(s2.json())) # @task(1) # def getInferenceResult(l): # pass class WebsiteUser(HttpLocust): task_set = UserBehavior min_wait =200 #think time ms max_wait =500