我正在使用Locust向端点发送各种http请求。端点有时可以返回401,指示该蝗虫用户需要新的承载令牌。locust是否提供了一种访问正在进行给定调用的locust用户的方法?
如果服务器返回401,我希望能够添加像WebUser.login()这样的seomthing
class WebUser(HttpUser):
tasks = {LoadTasks}
bearer = ""
on_start = login() //gets a bearer-token for the 'bearer' field.
class LoadTasks(TaskSet):
endpointPath = "/domain/subdomain/endpoint"
@task(5)
def put(self):
path = self.endpointpath
response = self.client.put()
if response.status_code == 401:
// WebUser to call authorization endpoint and retrieve new access_token
// i.e. locust-user.login()发布于 2021-02-09 05:45:21
你不应该担心做什么特别的事情。Locust将获取您在任务中编写的代码,并以每个用户的身份自动运行,这在某种程度上抽象了并发性。编写你的代码,就好像你要以一个用户的身份运行它,而且几乎总是可以工作的。
所有这些都只是说,是的,你的代码应该按你想要的方式工作。您只需检查一下这样的401,并告诉它请求一个新的令牌。
发布于 2021-02-09 10:55:55
来自文档:https://docs.locust.io/en/stable/tasksets.html#tasksets
TaskSet实例包含对User - self.user的引用。它还有一个指向其用户的客户端属性的快捷方式。
https://stackoverflow.com/questions/66109660
复制相似问题