request event有一个上下文参数,使您能够传递有关请求的数据(如用户名,标签等)。通过覆盖User.context()方法,可以在对请求方法的调用中直接设置它,也可以在用户级别设置它。
请求方法的上下文:
class MyUser(HttpUser):
@task
def t(self):
self.client.post("/login", json={"username": "foo"})
self.client.get("/other_request", context={"username": "foo"})
@events.request.add_listener
def on_request(context, **kwargs):
if context:
print(context["username"])
来自用户实例的上下文:
class MyUser(HttpUser):
def context(self):
return {"username": self.username}
@task
def t(self):
self.username = "foo"
self.client.post("/login", json={"username": self.username})
@events.request.add_listener
def on_request(context, **kwargs):
print(context["username"])