队列方案进行参数化
| from locust import HttpUser, TaskSet, task,between |
| import json,datetime |
| import queue |
| |
| def GetData(): |
| s=queue.Queue(maxsize=0) |
| for i in range(1,6): |
| |
| s.put_nowait(i) |
| return s |
| class MyLocust(TaskSet): |
| @task() |
| def post_test(self): |
| url='/sum' |
| data_=self.user.queueData.get() |
| data={"a":2,"b":data_} |
| with self.client.post(url,json.dumps(data),verify=False) as response: |
| print(json.loads(response.content)) |
| response.success() |
| assert response.status_code == 200 |
| self.user.queueData.put(data_) |
| |
| |
| class websitUser(HttpUser): |
| tasks = [MyLocust] |
| wait_time = between(1, 3) |
| queueData=GetData() |
| |
| if __name__ == '__main__': |
| import os |
| cmd="locust -f pages.py --host=http://www.baidu.com --web-host=127.0.0.1 " |
| os.system(cmd) |
on_start关联参数
| from locust import HttpUser, TaskSet, task,between |
| import json,random |
| class MyLocust(TaskSet): |
| def on_start(self): |
| |
| res=random.randint(10,15) |
| self.res=res |
| @task() |
| def post_test(self): |
| url='/sum' |
| data={"a":2,"b":self.res} |
| with self.client.post(url,json.dumps(data),verify=False,catch_response=True) as response: |
| print(json.loads(response.content)) |
| response.success() |
| assert response.status_code == 200 |
| class websitUser(HttpUser): |
| tasks = [MyLocust] |
| wait_time = between(1, 3) |
| |
| if __name__ == '__main__': |
| import os |
| cmd="locust -f 关联参数.py --host=http://192.168.50.209:8009" |
| os.system(cmd) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?