locust的 -T,--tags使用
官网的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 decoratortag
(*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使用的更多相关文章
- Locust性能测试工具核心技术@task和@events
Tasks和Events是Locust性能测试工具的核心技术,有了它们,Locust才能称得上是一个性能工具. Tasks 从上篇文章知道,locustfile里面必须要有一个类,继承User类,当性 ...
- 6000字Locust入门详解
目录 一.Locust 性能测试 (一). 性能测试工具 主流性能测试工具对比 认识Locust (二) locust 基本用法 1.安装locust 2.编写用例 3. 启动测试 GUI 模式启动 ...
- Locust 任务类介绍
前言: 任务:简单的理解就是,你想要你脚本的虚拟用户去做哪些事,比如请求某一个接口,或者执行某一个事件 用户:可以理解为,执这个任务的实例主体,或者在locust 中,也可以认为是一群蝗虫 一.Tas ...
- 在开源中国(oschina)git中新建标签(tags)
我今天提交代码到主干上面,本来想打个标签(tags)的. 因为我以前新建过标签(tags),但是我现在新建的时候不知道入库在哪了.怎么找也找不到了. 从网上找资料也没有,找客服没有人理我,看到一个交流 ...
- struts tags
HTTP ERROR 500 Problem accessing /showognl.jsp. Reason: Server Error Caused by: org.apache.jasper.Ja ...
- 性能测试工具Locust
An open source load testing tool. 一个开源性能测试工具. define user behaviour with python code, and swarm your ...
- python httprequest, locust
r = self.client.get("/orders", headers = {"Cookie": self.get_user_cookie(user[0] ...
- Python Locust对指定网站“一键压测”
[本文出自天外归云的博客园] 前篇 前篇:Python Locust性能测试框架实践 本篇 承上——归纳过程 在前篇的基础上,我们可以利用Locust性能测试框架编写python脚本对指定网站或者接口 ...
- 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 ...
- linux安装locust
linux安装locust 1. 安装epel扩展源(目的是为了在安装Pip时不出现一堆乱七八糟的错误信息) EPEL(http://fedoraproject.org/wiki/EPEL) 是由 F ...
随机推荐
- 添加 alt + d 打开 dicts.cn 网址
代码 autohotkey 代码 限制在双核浏览器 内部使用 #IfWinActive ahk_exe ChromeCore.exe !d:: Run, http://www.dicts.cn/ Re ...
- 摆脱鼠标系列 - vscode 上一个编辑器 下一个编辑器 Ctrl + h Ctrl + l
摆脱鼠标系列 - vscode 上一个编辑器 下一个编辑器 Ctrl + H Ctrl + L 为什么 根据 hjkl h是左边的原则 h 左移一位 b 左移一个单词 H 移动到句首 0 是行首 I是 ...
- InputNumberZen.vue 数字输入 支持两位小数
<template> <span style="width: 200px; display: inline-block;"> <Input v-mod ...
- [已读带总结] Effective JavaScript 编写高质量JavaScript代码的68个有效方法
目录 电子书下载:https://www.jb51.net/books/328297.html 第2章 第11条 熟练掌握闭包 https://www.cnblogs.com/wengxuesong/ ...
- SqlServer复制和订阅(实现主从同步)
SqlServer复制和订阅 注意: 1.登录必须是服务器名称不能是ip 2.订阅服务器不需要提前创建数据库 复制 1.展开要发布的数据库节点,找到复制下的本地发布 2.右击本地发布,选择本地发布 3 ...
- C 可变参数函数分析(va_start,va_end,va_list...)
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文作为本人csdn blog的主站的备份.(Bl ...
- 引领AI创意教育新浪潮,瑞云AIGC实训平台解决方案来了
过去的2023年,AI(人工智能)成为了年度科技圈关键词,各行各业都在AI化,据统计,AIGC市场规模预计到2030年将达到万亿级别,这不仅是市场的趋势,更是创新的机遇. 教育行业更是如此,许多高校和 ...
- C++ pieces
standard lib fmax double fmax (double x, double y); float fmax (float x, float y); long double fmax ...
- 性能测试系列:高可用测试linux常用命令
一 linux常用 df –h 看磁盘 du –h –max-depth=1 查看当前目录下,各个文件夹大小 ls –lht 查看当前目录下,各个文件大小 top –H –p pid 看进程下线程的资 ...
- Loto实践干货(3) 测量CAN总线通讯数据
Loto实践干货(3) 测量CAN总线通讯数据 最近在做运动控制卡的项目,调试样机的过程中,需要验证CAN总线通讯功能的正确性.以前只限于理论上认识CAN总线,使用的CANbus的通讯卡也是有上位机例 ...