有时候在测试时,需要task按照指定的顺序执行,当然可以通过多个请求放在一个task里面也能实现。

顺序执行模式是通过SequentialTaskSet类实现的,直接继承,然后类中定义的task顺序,在实际执行的时候,就会按定义的顺序执行。

如下执行的顺序是my_task1-my_task2

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import os
from locust import SequentialTaskSet, HttpUser, between, task


class MyTaskSet(SequentialTaskSet):
    """ 定义用户行为 """
    wait_time = between(0.5, 10)

    def on_start(self):
        print("Executing on_start")

    def on_stop(self):
        print("Executing on_stop")

    @task
    def my_task1(self):
        print("Executing my_task1")

    @task
    def my_task2(self):
        print("Executing my_task2")


class MyUserGroup(HttpUser):
    """ 定义线程组 """
    tasks = [MyTaskSet]
    host = "http://192.168.2.129"


if __name__ == "__main__":
    os.system("locust -f example_taskset_sequence.py")
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐