官网的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. Dash 2.16版本新特性介绍

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/dash-master 大家好我是费老师,几天前Dash发布了其2.16.0版本,随后在修复了一些潜在 ...

  2. 有了net/http, 为什么还要有gin

    1. 简介 在Go语言中,net/http 包提供了一个强大且灵活的标准HTTP库,可以用来构建Web应用程序和处理HTTP请求.这个包是Go语言标准库的一部分,因此所有的Go程序都可以直接使用它.既 ...

  3. config.baseUrl.dev 变量 转移到 .env.local 中

    config.baseUrl.dev 变量 转移到 .env.local 中 上下文 vue前端开发 问题 多人写代码的时候,会提交config.js里面的配置文件 解决方案 在根目录创建 .env. ...

  4. mainWindow = new BrowserWindow 打开慢的原因 electron 已解决 Windows Defender 拦截导致

    Windows Defender 导致拦截 不是变量的事儿 解决方案: win10 开始 设置 - windows 安全中心 - 病毒和威胁防护 - 病毒和威胁防护设置 - 排除项 - 添加排除项 将 ...

  5. 2.4G无线音频传输方案市场调研分析

    基本概念   所谓的2.4G音频传输,不是使用标准的wifi和蓝牙协议传输,而是使用私有的2.4G通信协议来实现点对点,一对多和多对一的音频传输.2.4G私有协议音频传输,有这低延时,距离远,声音高清 ...

  6. -Dmaven.multiModuleProjectDirectory system propery is not set解决方案

    myeclipse中使用maven插件的时候,运行run as maven build的时候报错 -Dmaven.multiModuleProjectDirectory system propery ...

  7. 29_SDL多线程与锁机制

    目录 一.简介 二.代码实现: 2.1.声明 2.2.创建锁.消费者 2.3.销毁 2.4.实现生产者逻辑 2.5.实现销毁者逻辑 2.6.创建生产者 三.分装SDL锁机制 condmutex.h c ...

  8. .net core 多线程下使用 Random 会出现bug

    .net core 多线程下使用 Random 会出现的bug 先看原文: Working with System.Random and threads safely in .NET Core and ...

  9. 香港Azure/.NET俱乐部第一次聚会纪实 - WPF在金融业的商业价值

    香港Azure/.NET俱乐部第一次聚会于2019年12月29日在香港上环地铁站星巴克举行. 香港Azure/.NET俱乐部的定位是:以商业价值为导向. 基于这个定位,可以推导出如下准则: 面向大型企 ...

  10. 【面试】将 95% 求职者拒之门外的BAT大数据面试题-附解题方法(文末有福利)

    写在前面 最近不少读者找我要大数据面试题,我整理了很久,筛选出这10道容易出错的大数据面试题,希望对大家有所帮助.题目与解答整理自互联网,感谢分享这些面经的技术大牛们! 题目概览 如何从大量的 URL ...