官网的TAG配置说明:
-T [TAG [TAG ...]], --tags [TAG [TAG ...]]List of tags to include in the test, so only tasks with any matching tags will be executed
使用-T(大写)或者--tags都可以,命令里输入的标签是要被执行压测的
-E [TAG [TAG ...]], --exclude-tags [TAG [TAG ...]] List of tags to exclude from the test, so only tasks with no matching tags will be executed
使用-E(大写)或者--exclude-tags都可以,命令里输入的标签是不会被执行压测的

TAG方法说明:
tag decorator

tag(*tags)

Decorator for tagging tasks and TaskSets with the given tag name. You can then limit the test to only execute tasks that are tagged with any of the tags provided by the --tags command-line argument. Example:

class ForumPage(TaskSet):
@tag('thread')
@task(100)
def read_thread(self):
pass @tag('thread')
@tag('post')
@task(7)
def create_thread(self):
pass @tag('post')
@task(11)
def comment(self):
pass
在需要标签区分执行的方法前通过tag装饰类引入标签即可,可以同时打上多个标签
执行时候得命令:直接在命令后面加上该参数即可,若是分布式压测,只需在slave里加即可,如:
master:
locust -f D:\***.py  --master  --master-bind-port 9800 --headless -u 1000 -r 50 --expect-workers 1 -t 10m -s 10  --csv D:\theco***y0106115648  
slave:
locust -f D:\***.py --master-host  170.240.110.245 --master-port 9800 --headless --worker -T "test1" "test2" "test3"
这样就只执行含有test1,test2,test3标签的方法
当然,-E也是如此
但是 -T有个坑:
比如:
    @tag('test1')
@task
def api_api_channel_item_list(self):
headers = {'tenantId': 'FA9DA2211F880F10', 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'}
# 请求参数组装 ## r_url:固定参数
r_url = "/api/channel/itemList"
requests_data = {'channelId': '11', 'pageSize': '3', 'page': '1', 'queryType': '2', 'queryAllImg': 'true', 'client': 'WEB'}
# 发起请求
with self.client.post(r_url, data=requests_data, catch_response=True, name=r_url) as r:
if r.content == b"":
r.failure("No data")
if r.status_code != 200:
em = "request error --" + str(r.status_code)
r.failure(em) @tag('test2')
@task
def api_api_channel_item_list(self):
headers = {'tenantId': 'FA9DA2211F880F10', 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'}
# 请求参数组装 ## r_url:固定参数
r_url = "/api/channel/itemList"
requests_data = {'channelId': '11', 'pageSize': '3', 'page': '1', 'queryType': '2', 'queryAllImg': 'true', 'client': 'WEB'}
# 发起请求
with self.client.post(r_url, data=requests_data, catch_response=True, name=r_url) as r:
if r.content == b"":
r.failure("No data")
if r.status_code != 200:
em = "request error --" + str(r.status_code)
r.failure(em)
 

以上的方法名是一样的,但一个打的标签是test1,一个打的是test2

当执行-T "test1"时,locust会报错:

Traceback (most recent call last):
File "d:\python\lib\site-packages\locust\user\task.py", line 285, in run
self.schedule_task(self.get_next_task())
File "d:\python\lib\site-packages\locust\user\task.py", line 417, in get_next_task
raise Exception(
Exception: No tasks defined on SYLocust. use the @task decorator or set the tasks property of the User (or mark it as abstract = True if you only intend to subclass it)

-E倒是不会错

如果不是按场景压测的话,一般是不会遇到上面问题的,若压测代码是自动生成的话,相同的方法打上相同的标签即可,不会存在这个问题。

Locust QQ 群:



locust的 -T,--tags使用的更多相关文章

  1. Locust性能测试工具核心技术@task和@events

    Tasks和Events是Locust性能测试工具的核心技术,有了它们,Locust才能称得上是一个性能工具. Tasks 从上篇文章知道,locustfile里面必须要有一个类,继承User类,当性 ...

  2. 6000字Locust入门详解

    目录 一.Locust 性能测试 (一). 性能测试工具 主流性能测试工具对比 认识Locust (二) locust 基本用法 1.安装locust 2.编写用例 3. 启动测试 GUI 模式启动 ...

  3. Locust 任务类介绍

    前言: 任务:简单的理解就是,你想要你脚本的虚拟用户去做哪些事,比如请求某一个接口,或者执行某一个事件 用户:可以理解为,执这个任务的实例主体,或者在locust 中,也可以认为是一群蝗虫 一.Tas ...

  4. 在开源中国(oschina)git中新建标签(tags)

    我今天提交代码到主干上面,本来想打个标签(tags)的. 因为我以前新建过标签(tags),但是我现在新建的时候不知道入库在哪了.怎么找也找不到了. 从网上找资料也没有,找客服没有人理我,看到一个交流 ...

  5. struts tags

    HTTP ERROR 500 Problem accessing /showognl.jsp. Reason: Server Error Caused by: org.apache.jasper.Ja ...

  6. 性能测试工具Locust

    An open source load testing tool. 一个开源性能测试工具. define user behaviour with python code, and swarm your ...

  7. python httprequest, locust

    r = self.client.get("/orders", headers = {"Cookie": self.get_user_cookie(user[0] ...

  8. Python Locust对指定网站“一键压测”

    [本文出自天外归云的博客园] 前篇 前篇:Python Locust性能测试框架实践 本篇 承上——归纳过程 在前篇的基础上,我们可以利用Locust性能测试框架编写python脚本对指定网站或者接口 ...

  9. Make Notepad++ auto close HTML/XML tags after the slash(the Dreamweaver way)

    I've been looking for a Notepad++ plugin that can close HTML/XML tags after a slash just like the wa ...

  10. linux安装locust

    linux安装locust 1. 安装epel扩展源(目的是为了在安装Pip时不出现一堆乱七八糟的错误信息) EPEL(http://fedoraproject.org/wiki/EPEL) 是由 F ...

随机推荐

  1. Codeforces(1500板刷)

    目录 写在前面 1. A. Did We Get Everything Covered?(构造.思维) 题目链接 题意 题解 代码 总结 2 F. Greetings(离散化+树状数组) 题目链接 题 ...

  2. Twitter推特 api接口 获取trending趋势搜索关键词 python数据采集

    iDataRiver平台 https://www.idatariver.com/zh-cn/ 提供开箱即用的Twitter公开数据采集API,供用户按需调用. 接口使用详情请参考Twitter接口文档 ...

  3. react 中 动态添加 class,防止图片 重复加载, 主要是 background-image的二次加载会有新请求,和图片的闪烁

    react 中 动态添加 class,防止图片 重复加载, 主要是 background-image的二次加载会有新请求,和图片的闪烁 let imageTopBg if (imgSrcBg) { c ...

  4. python中数字和字符串和bytes的相互转换实例解析

    一 数字和字符串的相互转换 # int convert string str(12345)) #string convert int int('12345') 二 数字和bytes的相互转换 1.数字 ...

  5. 几个常用的cmd命令

    compmgmt.msc 计算机管理  devmgmt.msc 设备管理器  diskmgmt.msc 磁盘管理工具  dfrg.msc 磁盘碎片整理  eventvwr.msc 事件查看器  fsm ...

  6. 使用gitee

    git全局设置 git config --global user.name "张xx" git config --global user.email "xxx@qq.co ...

  7. 3DCAT为华东师大设计学院打造元宇宙数字虚拟学院

    6月11日,华东师范大学设计学院在chi K11美术馆举办了一场别开生面的 2023 年本科毕业设计暨项目实践教学现场演示展.其中,元宇宙数字虚拟学院(一期)的现场发布会引起了现场震撼,吸引了众多观众 ...

  8. Rust Rocket简单入门

    目录 简介 hello world 常用功能 动态路径 多个片段(segments) 静态文件服务器 简单WebAPI示例 添加依赖 实现接口 接口测试 参考链接 简介 Rust中最知名的两个web框 ...

  9. C# OpenCvSharp 轮廓检测

    效果 代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data ...

  10. matlab的基本操作

    matlab的基本操作 1.写在前面 最近在处理一些作业时用到了matlab,发现以前学习的语句已经忘得差不多了.现在找到以前的学习资料,重新复习一下.顺便总结一下知识点,以免下一次使用时又忘记了而又 ...