性能工具之 JMeter 常用组件介绍(七)

news2024/11/24 9:14:59

文章目录

  • 一、后置处理器
    • 1、Regular Expression Extractor(正则表达式提取器)
    • 2、JSON Extractor(JSON表达式提取器)
    • 3、Regular Expression Extractor(正则表达式提取器)
  • 二、小结

一、后置处理器

在这里插入图片描述

从上面可以看出后置处理可以插件挺多,在我工作生涯中常用的就是几个组件。

1、Regular Expression Extractor(正则表达式提取器)

在这里插入图片描述
Apply to:应用范围

  • Main sample and sub-samples:作用于主节点的取样器及对应子节点的取样器
  • Main sample only:仅作用于主节点的取样器
  • Sub-samples only:仅作用于子节点的取样器
  • JMeter Variable:作用于jmeter变量(输入框内可输入jmeter的变量名称),从指定变量值中提取需要的值。

Field to check 要检查的响应字段:

  1. Body 主体:响应报文的主体,最常用
  2. Body(unescaped):主体,是替换了所有的html转义符的响应主体内容,注意html转义符处理时不考虑上下文,因此可能有不正确的转换,不太建议使用
  3. Body as a Document:从不同类型的文件中提取文本,注意这个选项比较影响性能
  4. Response Headers:响应信息头(如果你使用的是中文版的Jmeter,会看到这一项是信息头,这是中文翻译问题,应以英文为准)
  5. Request Headers:请求信息头
  6. URL:请求url
  7. Response Code:响应状态码,比如200、404等
  8. Response Message:响应信息
  • Name of created variable 引用名称:其他地方引用时的变量名称,我这里写的phone,可自定义设置,引用方法:${引用名称}
  • Regular Expression 正则表达式:数据提取器,()括号里为你要获取的的值。“mobilephone”:“( 相当于LR左边界, )”,"leaveamount"相当于LR右边界。而括号里\d+为正则表达式,用来匹配所需要获取的数据,何谓正则表达式文章末尾会附上说明
  • Template 模板:用于从找到的匹配项创建字符串的模板。这是一个带有特殊元素的任意字符串,用于引用正则表达式中的组。引用组的语法是:’ $ 1 $ ‘引用组1,’ $ 2 $ '引用组2,等等。$ 0 $引用整个表达式匹配的内容。
  • Match No. 匹配数字:正则表达式匹配数据的所有结果可以看做一个数组,匹配数字即可看做是数组的第几个元素。-1表示全部,0随机,1第一个,2第二个,以此类推。若只要获取到匹配的第一个值,则填写1
  • Default value 缺省值:匹配失败时的默认值。可以不写。若需用于后续逻辑判断,可简单写为 ERROR。

简单示例:

1、添加线程组
在这里插入图片描述

2、添加请求
在这里插入图片描述
3、添加正则提取器
首先请求一次,在结果查看树中调试正则表达式,增加正则提取器,把正则表达式放上去

在这里插入图片描述
增加正则表达式

在这里插入图片描述
增加调试器

在这里插入图片描述
4、添加结果查看树
在这里插入图片描述

2、JSON Extractor(JSON表达式提取器)

在这里插入图片描述

3、Regular Expression Extractor(正则表达式提取器)

在这里插入图片描述
说明:

  • 1.Variable name :自定义参数名,引用的时候${} 格式
  • 2.Json path expression:json表达式,根据上面的json,表达式为:$.开始

简单样例说明:
1、添加线程组
在这里插入图片描述
2、添加请求
1、使用springboot新建工具简单写好Controller代码如:


@GetMapping("/weixin")
    @ResponseBody
    public Msg getWeixint() {
        HashMap<String, ArrayList<Skills>> hashMap1 = new HashMap<>();
        HashMap<String, ArrayList<Gender>> hashMap = new HashMap<>();
        HashMap<String, String> hashMap3 = new HashMap<>();

        hashMap3.put("name", "数据下发");
        hashMap3.put("opinion", "get获取得数据");

        ArrayList<Gender> list = new ArrayList<>();
        list.add(new Gender("男", "0", true));
        list.add(new Gender("女", "1", true));

        ArrayList<Skills> list1 = new ArrayList<>();
        list1.add(new Skills("HTML", "html", true));
        list1.add(new Skills("CSS", "css", false));
        list1.add(new Skills("JavaScript", "js", false));
        list1.add(new Skills("Photoshop", "ps", true));
        list1.add(new Skills("python", "py", true));

        hashMap.put("gender", list);
        hashMap1.put("skills", list1);

        HashMap<String, Object> hashMap2 = new HashMap<>();

        hashMap2.putAll(hashMap);
        hashMap2.putAll(hashMap1);
        hashMap2.putAll(hashMap3);

        System.out.println(hashMap2);

        return Msg.success().add("infopage", hashMap2);
    }

启动成功如:
在这里插入图片描述

页面响应如:
在这里插入图片描述
添加请求:
在这里插入图片描述

3、添加结果查看树调试
在这里插入图片描述
4、添加JSON Extractor
在这里插入图片描述
5、添加Debug Sampler
在这里插入图片描述
6、查看结果
在这里插入图片描述

3、工程结构如下:
在这里插入图片描述

二、小结

很多插件需要在工作不断练习才能掌握,掌握学习方法,并且自己动手就能把很多事情做出来;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1830478.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【探索Linux命令行】从基础指令到高级管道操作的介绍与实践

目录 man 指令&#xff08;说明&#xff09; 介绍 cp 指令&#xff08;复制&#xff09; ​编辑 mv 指令&#xff08;移动&#xff09; ​编辑 cat 指令&#xff08;类似cout&#xff09; less&#xff08;查找&#xff09; head & tail&#xff08;打印&#xff…

基于jeecgboot-vue3的Flowable流程-流程表单显示控制

因为这个项目license问题无法开源&#xff0c;更多技术支持与服务请加入我的知识星球。 这个部分主要讲流程起始表单的显示控制&#xff0c;因为开始的时候可以进行输入处理&#xff0c;在流程过程中只能只读状态&#xff0c;当然返回到发起人节点也可以进行编辑提交 1、开始发…

Spring配置那些事

一、引言 配置是一个项目中不那么起眼&#xff0c;但却有非常重要的东西。在工程项目中&#xff0c;我们一般会将可修改、易变、不确定的值作为配置项&#xff0c;在配置文件/配置中心中设置。 比方说&#xff0c;不同环境有不同的数据库地址、不同的线程池大小等&#xff0c…

【NOI题解】1656. 是两位的偶数吗1658. 游乐设施1659. 是否含有数字5 1660. 今天要上课吗1661. 宇航员选拔

文章目录 一、前言二、问题问题&#xff1a;1656. 是两位的偶数吗问题&#xff1a;1658. 游乐设施问题&#xff1a;1659. 是否含有数字5问题&#xff1a;1660. 今天要上课吗问题&#xff1a;1661. 宇航员选拔 三、感谢 一、前言 本章节主要对关于分支结构的中需要进行逻辑运算…

OpenCV目标识别

一 图像轮廓 具有相同颜色或强度的连续点的曲线。 图像轮廓的作用 可以用于图像分析 物体的识别与检测 注意 为了检测的准确性&#xff0c;需要先对图像进行二值化或Canny操作。 画轮廓时会修改输入的图像。 轮廓查找的API findContours(img,mode,ApproximationMode,...)…

GUI Guider(V1.7.2) 设计UI在嵌入式系统上的应用(N32G45XVL-STB)

目录 概述 1 使用GUI Guider 设计UI 1.1 创建页面 1.2 页面切换事件实现 1.3 生成代码和仿真 1.3.1 生成和编译代码 1.3.2 仿真UI 2 GUI Guider生成的代码结构 2.1 代码结构介绍 2.2 Project目录下的文件 3 板卡上移植UI 3.1 加载代码至工程目录 3.2 主函数中调…

新旧torch中傅里叶变换实现(fft)

由泰勒级数我们知道&#xff0c;一个函数可以被分解成无穷个幂函数叠加的形式&#xff0c;于是同样地&#xff0c;一个周期函数也可以被分解成多个周期函数叠加&#xff0c;于是自然而然地&#xff0c;三角函数符合这个需求&#xff0c;由傅里叶级数我们可以将周期函数分解成无…

【车载音视频AI电脑】铁路视频监控系统解决方案

方案简介 铁路视频监控系统解决方案针对铁路行业安全运营保障需求&#xff0c;根据中国铁路总公司的技术规范要求&#xff0c;基于铁路系统的IP网络&#xff0c;采用先进的视频监控技术&#xff0c;构建一套完备的数字化、智能化、分布式铁路综合视频监控系统&#xff0c;实现视…

第二证券A股重要变化!今起实施

A股系列重要指数迎来样本股调整&#xff01; 此前&#xff0c;深交所及其全资子公司深证信息发布公告&#xff0c;将对深证成指、创业板指、深证100&#xff08;以下统称“深市中心指数”&#xff09;施行样本股定时调整。此次调整于6月17日&#xff08;今日&#xff09;正式施…

关于电脑文件的规划思考

概述 设置C、D、E、F 四个盘 C盘&#xff1a;系统数据使用&#xff0c;操作系统、其他软件需要用到的系统性资源 D盘&#xff1a;应用软件区 的使用&#xff0c;数据库、navacat、idea、visual studio、浏览器、向日葵、虚拟机…… E盘&#xff1a;工作区&#xff1a;公司资料…

如何移植libwebsockets

libwebsockets是一个高性能的开源C语言库&#xff0c;专为实现WebSocket协议及相关的HTTP协议而设计。它不仅使开发者能够在客户端与服务器端轻松构建WebSocket连接&#xff0c;还可以用作标准HTTP服务器。WebSocket是一种在单个TCP连接上进行全双工通信的协议&#xff0c;可以…

APS为什么是业务、开发、数据和算法的结合体

获取更多资讯,赶快关注上面的公众号吧! 文章目录 一 引言二 业务是灵魂2.1 生产类型2.2 生产模式2.3 生产约束三 开发是支撑3.1 开发语言3.2 技术架构3.3 内存计算3.4 系统集成3.5 系统交互四 数据是基础五 算法是核心5.1 问题建模5.2 算法建模总结APS系统的实施是一个类似阶…

技术心得总结:a 标签实现新标签页打开功能

最近&#xff0c;有用户提出希望在点击菜单项时&#xff0c;能够在新标签页中打开对应的链接功能。这类似于我们常用的右键菜单中的“在新标签页打开链接”功能。经过对需求的分析和代码的查看&#xff0c;我们找到了实现这一功能的方法。 原始实现 最初的跳转实现是通过用户触…

three.js 基础01

1.场景创建 Scene() 2.常用形状集几何体「Geometry」[可设置长宽高等内容&#xff0c;如&#xff1a;new THREE.BoxGeometry(...)] 长方体 BoxGeometry圆柱体 CylinderGeometry 球体SphereGeometry圆锥体ConeGeometry矩形平面 PlaneGeometry 圆面体 CircleGeo…

Linux中文件查找相关命令比较

Linux中与文件定位的命令有find、locate、whereis、which&#xff0c;type。 一、find find命令最强&#xff0c;能搜索各种场景下的文件&#xff0c;需要配合相关参数&#xff0c;搜索速度慢。在文件系统中递归查找文件。 find /path/to/search -name "filename"…

人工智能发展历程了解和Tensorflow基础开发环境构建

目录 人工智能的三次浪潮 开发环境介绍 Anaconda Anaconda的下载和安装 下载说明 安装指导 模块介绍 使用Anaconda Navigator Home界面介绍 Environment界面介绍 使用Jupter Notebook 打开Jupter Notebook 配置默认目录 新建文件 两种输入模式 Conda 虚拟环境 添…

《软件测试52讲》——测试基础知识篇

1 你真的懂测试吗&#xff1f;从“用户登录”测试谈起 从“用户登录”测试谈起&#xff0c;“用户登录”功能作为测试对象 作为测试工程师&#xff0c;你的目标是要保证系统在各种应用场景下的功能是符合设计要求的&#xff0c;所以你需要考虑的测试用例就需要更多、更全面。 …

Java I/O操作

引言 在Java编程中&#xff0c;输入和输出&#xff08;I/O&#xff09;操作是必不可少的部分。Java I/O通过一系列流&#xff08;Stream&#xff09;类和方法&#xff0c;支持文件操作、控制台输入输出、网络I/O等多种I/O操作。本文将详细介绍Java I/O的基础概念、文件操作、字…

SQL注入攻击

网站是什么工作的&#xff1f; php写的代码电脑不认识&#xff0c;脚本引擎就是做翻译的&#xff0c;把高级代码翻译为机器语言 访问网站的地址&#xff0c;不同的新闻的id是不一样的&#xff0c;就是对应数据库的不同位置 这里面一个ip地址对应三个网站&#xff08;怎么能对应…

JavaScript领域的五大AI工程利器

五大引领AI工程的JavaScript工具&#xff0c;为欲将LLM融入项目的开发者提供关键资源。 译自Top 5 JavaScript Tools for AI Engineering&#xff0c;作者 Alexander T. Williams。 传统上以在网页开发中扮演角色而闻名的JavaScript&#xff0c;令许多人惊讶的是&#xff0c;它…