环境安装:python
脚本编写:json
from locust import HttpLocust, TaskSet, task class UserOne(TaskSet): @task(1) def baidu1(self): self.client.get("/") print "get one request is operation" @task(2) def baidu2(self): requestParam = "key=value" response = self.client.get("/test?"+requestParam) code = response.json().get("code") print response.json() class UserTwo(TaskSet): tasks = {UserOne:2} @task(1) def leave(self): print "get three request is operation" class WebsiteUser(HttpLocust): task_set = UserOne min_wait = 100 max_wait = 600 host = "http://test"
参数解析:cookie
若是想要获取http请求的返回,须要在get请求时增长参数catch_response=True,可是增长后locust不会作任何校验甚至不记录请求事件数据结构
若是须要本身进行数据校验和请求记录须要本身实现events.request_success.fire和events.request_failure.fire测试
例如spa
code = response.json().get("code") if code == "200": events.request_success.fire( request_type=response.locust_request_meta["method"], name=response.locust_request_meta["name"], response_time=response.locust_request_meta["response_time"], response_length=response.locust_request_meta["content_size"], ) else: events.request_failure.fire( request_type=response.locust_request_meta["method"], name=response.locust_request_meta["name"], response_time=response.locust_request_meta["response_time"], response_length=response.locust_request_meta["content_size"], exception="Response Code Error! Code:{0}".format(code) )
遇到的坑code