1

在 Locust 负载测试中,环境任务被定义并被随机调用。但是,如果我想在特定任务之后执行任务。那我该怎么做呢?例如:在每次“X”网址调用后,我希望根据“X”的响应调用“Y”网址。

4

3 回答 3

5

根据我的经验,我发现最好将 Locust 任务建模为彼此完全独立,并且每个任务都涵盖用户场景或行为(例如,客户登录、搜索书籍并将其添加到购物车)。这主要是因为这是对用户行为的更接近的模拟。

您是否尝试过在同一个任务上发出多个请求,以及是否/其他基于您的响应?Carl Byström 演讲中的这张幻灯片遵循了上述方法。

于 2013-10-25T22:40:35.510 回答
3

您只需要进行顺序获取或发布。当您定义任务时,请执行以下操作:

@task(10)
def my_task(l):
    l.client.get('/X')
    l.client.get('/Y')
于 2015-07-28T15:08:11.110 回答
2

有一个选项可以创建从TaskSequence类继承的自定义任务集。

然后,您应该将seq_task装饰器添加到所有任务集方法以按顺序运行其任务。

https://docs.locust.io/en/latest/writing-a-locustfile.html#tasksequence-class

于 2019-01-21T10:17:29.520 回答