0

我正在尝试用蝗虫自动化以下场景:

  1. 登录到应用程序(将其放入on_start,因此它将首先登录所有会话)并从登录调用的响应中获取令牌值。

  2. 创建组织

  3. 创建用户。

我需要按所示顺序执行这些调用。

但是,如果我@task为第 2 步和第 3 步添加,它会随机选择这些调用,这会导致我的代码中断。

有什么建议么?

4

2 回答 2

2

使用 Locust 的TaskSequence 类

class SequentialTasks(TaskSequence):
    def on_start(self):
        # login to application and get token value from response of login call

    @seq_task(1) # the first thing to do
    @task(n) # do it n times
    def create_org(self):
        # create org

    @seq_task(2) # the second thing to do
    @task(n) # do it n times
    def create_user(self):
        # create user
于 2019-03-04T19:55:12.293 回答
0

您可以在一个任务中完成所有操作。单个任务中的单个 HTTP 调用没有限制(on_start如果您愿意,甚至可以将其全部放入)。

class MyTaskSet(TaskSet):
    def on_start(self):
        // do login
        self.token = ...

    @task
    def create_task(self):
        // create org
        self.client.post(...)
        // crete user
        self.client.pos(...)
于 2017-01-11T14:33:51.203 回答