【发布时间】:2021-12-22 08:37:37
【问题描述】:
在JMeter 上存在SetUp Thread Group 和Number of Threads (users) 可能性的概念,但是当使用Locust 时,on_start() 方法以相同数量的用户运行。
我的解决方法。
@events.test_start.add_listener
def _(environment, **kwargs):
global token
token = get_token(environment.host)
...
def get_token():
r = requests.post(host+'/url/token', headers={}, ...)
return r.text
说实话,我不太喜欢这种解决方法。
我只需要得到一个令牌once。我可以重复使用该令牌,而且这是一个非常繁重的调用(因为验证的数量),所以我不希望每次都为每个用户执行该调用。
有没有一种可能的方法来创建一个Only Once 请求来在测试开始时处理这个问题?
有什么想法吗????
已编辑:这与 Locust 库而不是 JMeter 有关。
【问题讨论】:
-
这个问题是关于 Locust,而不是 JMeter。这不是重复任何其他问题。
-
我已投票决定重新开放。我认为您的“解决方法”是正确的解决方案。你不喜欢它的哪一点?
-
感谢@Cyberwiz 使用全局变量,因为我想改用
environment并添加一个新属性。但我不能将它与@events.request.add_listener一起用于日志记录。 -
我认为这里的全球性很好。如果您愿意,可以将自己的字段添加到环境中(在 User 实例中以 self.environment 的形式提供)
-
感谢您的回答,我想我会将自定义字段添加到环境中并使用您提到的
self.environment。再次感谢您的时间@Cyberwiz
标签: locust