美文网首页
locust2.0+教程:006 - @tag标签装饰器

locust2.0+教程:006 - @tag标签装饰器

作者: 玩转测试开发 | 来源:发表于2021-09-03 22:14 被阅读0次

    通过使用@tag decorator标记任务,可以使用--tags和--exclude tags参数来挑剔测试期间执行的任务,主要作用就是剔除和筛选任务。
    以下文源码为例。
    1、命令行执行时加入--tags tag1,则表示只执行对应的hello方法任务。
    2、命令行执行时加入--exclude-tags tag3,则表示除了tag
    3,其他都执行,即执行对应的hello和new方法任务。

    locust脚本源码:my_locust.py 请注意task是不可省略的装饰,缺少则没有需要执行的任务。

    from locust import HttpUser, between, tag, task
    
    
    class QuickstartUser(HttpUser):
        wait_time = between(1, 2)
    
        @tag("tag1")
        @task
        def hello(self):
            self.client.get("/hello")
    
        @tag("tag2")
        @task
        def new(self):
            self.client.get("/new")
    
        @tag("tag3")
        @task
        def world(self):
            self.client.get("/world")
    

    服务端sanic源码:main.py

    
    from sanic import Sanic
    import datetime
    from sanic import response
    
    app = Sanic('myapp')
    
    
    @app.get('/hello')
    def hello(request):
        time = str(datetime.datetime.now())[:-7]
        return response.json({"hello time": time})
    
    
    @app.get('/new')
    def new(request):
        time = str(datetime.datetime.now())[:-7]
        return response.json({"new time": time})
    
    
    @app.get('/world')
    def world(request):
        time = str(datetime.datetime.now())[:-7]
        return response.json({"world time": time})
    
    
    if __name__ == "__main__":
        app.run(host="127.0.0.1", port=7890, auto_reload=True)
    

    运行1:
    1、命令行执行:locust -f my_locust.py --tags tag1
    2、打开http://localhost:8089/
    3、用户数,孵化率,host分别输入1,1,http://127.0.0.1:7890
    4、点击运行服务端:可见只执行了hello.

    图片

    客户端:

    图片

    locust-ui:效果1

    image.png

    运行2:
    1、命令行执行:locust -f my_locust.py --exclude-tags tag3
    2、打开http://localhost:8089/
    3、用户数,孵化率,host分别输入1,1,http://127.0.0.1:7890
    4、点击运行

    图片

    locust-ui:效果2

    图片

    以上,即@tag标签装饰器的解析和案例说明。

    微信公众号:玩转测试开发
    欢迎关注,共同进步,谢谢!

    相关文章

      网友评论

          本文标题:locust2.0+教程:006 - @tag标签装饰器

          本文链接:https://www.haomeiwen.com/subject/pmddwltx.html