python locust 性能测试:嵌套

Posted backlight

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python locust 性能测试:嵌套相关的知识,希望对你有一定的参考价值。

 

TaskSet类和TaskSequence类可用于嵌套<可以在TaskSequences中嵌套TaskSets,反之亦然>;
from locust import TaskSet, task, HttpLocust, TaskSequence, seq_task
import subprocess


class WebUser(TaskSet):
    @task(5)
    def first_task(self):
        print(\'执行5次;\')

    @task(2)
    class IosUser(TaskSet):
        @task(1)
        def second_task(self):
            print(\'1次\')

        @task(2)
        def three_task(self):
            print(\'2次\')
            self.interrupt()

    @task(2)
    class AndroidUser(TaskSequence):
        @seq_task(2)
        @task(1)
        def android_task(self):
            print(\'这是android用户;\')
            self.interrupt()

        @seq_task(1)
        @task(1)
        def ios_task(self):
            print(\'这是ios用户;\')


class LocustFun(HttpLocust):
    host = \'https://passport.cnblogs.com\'
    task_set = WebUser
    max_wait = 6000
    min_wait = 3000


if __name__ == \'__main__\':
    subprocess.check_call(
        \'locust -f G:\\Interface_framework_pytest\\\\tmp\\\\test2.py --no-web -c 10 -r 1\')
self.interrupt()函数用于将执行移交给父TaskSet,需要在嵌套中使用,在Locust类的task_set属性指向的主TaskSet中使用会报错:InterruptTaskSet exception具有中断功能,可以与任务加权一起定义模拟用户离开论坛的可能性;
TaskSequence类,装饰器@seq_task(1),控制任务的执行顺序,参数:number;

以上是关于python locust 性能测试:嵌套的主要内容,如果未能解决你的问题,请参考以下文章

Python+locust做性能测试 ====locust版本更新(HttpUser)

基于python的性能测试工具–locust

Python Locust性能测试框架实践

python locust 性能测试:locust 关联---提取返回数据并使用

python locust 性能测试:locust参数-保证并发测试数据唯一性,循环取数据

python+locust性能测试之No Web UI模式下运行Locust