我如何才能 运行 使用 Locust (Python) 进行一次请求

How can I run a single only once request for with Locust (Python)

SetUp Thread Group 的概念在 JMeter 上有 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

老实说,我不太喜欢这种解决方法。

我只需要获得一个Tokenonce。我可以重用该令牌,而且这是一个非常繁重的调用(因为验证量),所以我不希望每次为每个用户执行该调用。

是否有可能创建一个 Only Once 请求来在测试开始时处理此问题?

任何想法

已编辑:这与 Locust 库相关,而非 JMeter。

我认为您的“解决方法”是正确的解决方案。

但是如果您出于某种原因真的不喜欢模块范围的变量和 global 关键字,您可以将自己的字段添加到 environment(在用户实例)。