zoukankan      html  css  js  c++  java
  • 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;
  • 相关阅读:
    java项目和web项目路径的区别
    ModelAndView跳转
    struts漏包和tomcat上传问题
    映射文件的路径写错的出现的错误
    hibernate二级缓存
    find命令小结
    【转】Python的XML-RPC简介
    Python的类实例方法,类方法,类静态方法
    itertools模块速查
    Python中处理时间 —— time模块
  • 原文地址:https://www.cnblogs.com/changqing8023/p/10204951.html
Copyright © 2011-2022 走看看