jmeter常用配置元件介绍总结之后置处理器

系列文章目录
1.windows、linux安装jmeter及设置中文显示

2.jmeter常用配置元件介绍总结之安装插件

3.jmeter常用配置元件介绍总结之线程组

4.jmeter常用配置元件介绍总结之函数助手

5.jmeter常用配置元件介绍总结之取样器

6.jmeter常用配置元件介绍总结之jsr223执行python脚本

7.jmeter常用配置元件介绍总结之定时器

8.jmeter常用配置元件介绍总结之逻辑控制器

9.jmeter常用配置元件介绍总结之后置处理器

10.jmeter常用配置元件介绍总结之前置处理器、测试片段

11.jmeter常用配置元件介绍总结之配置元件

12.jmeter常用配置元件介绍总结之断言

13.jmeter常用配置元件介绍总结之监听器

14.jmeter常用配置元件介绍总结之分布式压测

15.jmeter常用配置元件介绍总结之用linux服务器压测

8.后置处理器

后置处理器在采样器之后才执行

在这里插入图片描述

8.1.CSS/JQuery提取器

功能:主要用于要提取的目标内容是html内容时,如:请求响应消息返回的是html
参数介绍
apply to:设置提取器,提取范围,从哪一部分提取数据

Main sample and sub-samples :匹配当前父级取样器,会覆盖字取样器
Main sample only:默认此选项,匹配当前父级取样器
Sub-samples only:匹配子取样器
JMeter Variable Name to use:在选项的输入框输入jmeter变量名,可以匹配jmeter变量值

提取相关参数配置:
CSS选择器提取器实现:选择提取方式,可以选择JSOUP/JODD,默认JSOUP
引用名称:设置变量名称,将提取到的值给到该变量
CSS选择器表达式:填写css选择器表达式
属性:填写属性名称,则提取对应属性的值,不填写则提取标签的text值
匹配数字(0代表随机):表示取提取到的第几个值,0:随机取值,-1:匹配所有,n:取第n个值
缺省值:设置一个默认值,没有提取到值时,就使用该值

如图提取text文本演示:

在这里插入图片描述
在这里插入图片描述

如图提取属性值演示:

在这里插入图片描述
在这里插入图片描述

8.2.JSON JMESPath Extractor

功能:以JMESPath表达式提取json格式的信息
参数介绍
apply to:同上,CSS/JQuery提取器这里不再详细介绍
Names of created variables:设置变量名称,将提取到的值给到该变量
JESPath expressions:JESPath表达式
Match No. (0 for Random):表示取提取到的第几个值,0:随机取值,-1:匹配所有,n:取第n个值
Default Values:设置一个默认值,没有提取到值时,就使用该值

说明:
JESPath表达式基础介绍(这里只介绍了基本操作还有很多强大的功能):
1.用字段名来选择某一信息,如匹配msg值,就用表达式:msg,来匹配msg对应的值
2.用点·来表示子节点切换到子层级,如要匹配sub_msg值,就需要用到·,就用表达式:msg_all.sub_msg,来匹配sub_msg对应的值,多层则用.切进去即可
3.可以用数组下标取值,如:要取到值“测试2”,就用表达式remsg[1]

{
    "msg": "Business SUCCESS",
    "code": "40004",
    "sub_code": "ACQ.TRADE_HAS_SUCCESS",
    "remsg": [
        "测试",
        "测试2"
    ],
    "msg_all": {
        "out_trade_no": "6823789339978248",
        "sub_msg": "交易已被支付",
        "trade_no": "2013112011001004330000121536"
    }
}

如图演示提取:
在这里插入图片描述
在这里插入图片描述

8.3.JSON提取器

功能:以JOSN Path表达式提取json格式的信息
参数介绍
apply to:同上,CSS/JQuery提取器这里不再详细介绍
Names of created variables:设置变量名称
JSON Path expressions:JOSNPath表达式
Match No. (0 for Random):表示取提取到的第几个值,0:随机取值,-1:匹配所有,n:取第n个值
Compute concatenation var:匹配到多个值时,将多个值拼接起来,然后给设置的变量
Default Values:设置一个默认值

json path表达式基本介绍:
1.用$来表示根
2.用·来表示字节点
3.用[n],来通过下标取值
另外还可以配合一些常用操作符、通配符使用,如:==,>,<,*等
如:
取“测试”这个值:$.msg_all.remsg[0]
取sub_msg的值:$.msg_all.sub_msg
取code的值:$.code

{
    "msg": "Business SUCCESS",
    "code": "40004",
    "sub_code": "ACQ.TRADE_HAS_SUCCESS",
    "msg_all": {
        "out_trade_no": "6823789339978248",
        "sub_msg": "交易已被支付",
        "remsg": [
            "测试",
            "测试2"
        ],
        "trade_no": "2013112011001004330000121536"
    }
}

如图:
在这里插入图片描述
在这里插入图片描述
另外这里介绍一个测试表达式的工具,
如图,在查看结果树中可以选择表达式类型,输入表达式进行测试
在这里插入图片描述

8.4.正则表达式提取器

功能:以正则表达式提取内容信息
参数介绍
apply to:同上,CSS/JQuery提取器这里不再详细介绍
要检查的响应字段:设置从取样器的哪一部分提取内容。
分别表示:

主体:响应体,默认选中,最常用的
Body (unescaped):
Body as a Document
信息头:响应头
Request Headers:请求头
URL:URL
响应代码:响应码
响应信息:响应信息

引用名称:设置变量名称
正则表达式:填写正则表达式

正则表达式基础应用讲解:
():用括号括起来的部分就表示要提取的内容
.:点表示任意字符
+:加表示匹配一次或多次
?:问号表示第一个匹配项找到后停止匹配
:星号表示匹配字符任意次

使用的格式:左边界(.
?)有边界
一般常用的有(.*?)、(.+?)能满足绝大部分情况

模板:设置匹配的字符串模板模板
匹配数字(0代表随机):表示取提取到的第几个值,0:随机取值,-1:匹配所有,n:取第n个值
缺省值:设置一个默认值

{
    "msg": "Business SUCCESS",
    "code": "40004",
    "sub_code": "ACQ.TRADE_HAS_SUCCESS",
    "msg_all": {
        "out_trade_no": "6823789339978248",
        "sub_msg": "交易已被支付",
        "remsg": [
            "测试",
            "测试2"
        ],
        "trade_no": "2013112011001004330000121536"
    }
}

如图提取单个值演示:

在这里插入图片描述在这里插入图片描述

如图提取多个值演示:

在这里插入图片描述
在这里插入图片描述

注意:
1.同时提取多个值时,引用名称只需要设置一个
2.模板提取多少变量就应该设置几个模板,多个模板之间用分隔符隔开
3.提取多个值时通过${变量名+_gn},如:我这里演示的引用第一个值就用${test_g1}依次类推,
4.提取单值,一个引用名、一个模板、直接引用变量名即可
提示:
有个小技巧就是直接复制要提取的内容把要匹配的值换位(.*?),大部分情况可直接使用。
如要提取以上测试内容的:“交易已被支付”
先复制:“sub_msg”:“交易已被支付”,“trade_no”
替换内容:“sub_msg”:“(.*?)”,“trade_no”

8.5.边界提取器

功能:以边界的方式式提取内容信息
参数介绍
apply to和要检查的响应字段就不做过多介绍了文章前面其他元件有介绍
引用名称:设置变量名称
左边界:设置左边界内容,从提取内容开始前的边界
右边界:设置右边界的内容,从提取内容开始后的边界
匹配数字(0代表随机):表示取提取到的第几个值,0:随机取值,-1:匹配所有,n:取第n个值
缺省值:设置一个默认值

在这里插入图片描述
在这里插入图片描述

8.5.Debug PostProcessor

主要用于调试JMeter 属性、取样器属性、系统属性中的参数,在查看结果树中查看返回的值
如图:

在这里插入图片描述
在这里插入图片描述

8.6.XPath2 Extractor

功能:用xpath表达式来提取html内容
参数介绍
引用名称:设置变量名称
XPath query:xpath表达式,xpath语法这里暂时不做介绍
匹配数字(0代表随机):表示取提取到的第几个值,0:随机取值,-1:匹配所有,n:取第n个值
缺省值:设置一个默认值
Return entire XPath fragment instead of text content?:勾选后会连带内容所在的标签也返回来
在这里插入图片描述
在这里插入图片描述

8.7.XPath提取器

功能:用xpath表达式来提取内容
参数介绍
XML Parsing Options:解析的XML参数配置

UseTidy:页面是HTML格式时,选中该选项;如果是XML或XHTML格式,则取消选中
Quiet:只显示需要的HTML页面
Report errors:显示响应报错
Show warnings:显示警告;
Use Namespaces:如果启用该选项,后续的XML解析器将使用命名空间来分辨;
Validate XML:根据页面元素模式进行检查解析;
Ignore Whitespace:忽略空白内容
Return entire XPath fragment instead of text content?:勾选后会连带内容所在的标签也返回来

引用名称:设置变量名称
XPath query:xpath表达式,xpath语法这里暂时不做介绍
匹配数字(0代表随机):表示取提取到的第几个值,0:随机取值,-1:匹配所有,n:取第n个值
缺省值:设置一个默认值
在这里插入图片描述
在这里插入图片描述

8.8.结果状态处理器

功能:主要用来监听取样器执行失败后的结果状态,配置执行失败后执行怎么处理,失败后执行什么动作,如:失败后继续、失败后停止测试等
在这里插入图片描述

<think>好的,用户想了解JMeter常用组件及其功能和使用说明。首先,我需要根据用户提供的引用内容来整理相关信息。用户给的引用内容中提到了线程组、断言组件、作用范围和应用变量等,这些都是JMeter的核心组件。 首先,线程组(Thread Group)是必须的,因为任何测试计划都需要它来定义用户数量和测试行为。引用[1]和[2]都提到了线程组的功能,比如设线程数、循环次数和启动延迟。这部分需要详细说明,包括不同线程组的类型,比如普通线程组和特殊线程组,以及它们的使用场景。 然后是断言组件,引用[1]提到了主流断言组件,但具体有哪些呢?可能需要补充常见的断言类型,比如响应断言、大小断言、持续时间断言等,并解释它们的作用和使用方法。同时,引用[4]提到了断言的作用范围,比如主样本、子样本等,这部分需要结合到断言组件的说明中。 接下来是配置元件,比如HTTP请求默认值,这在引用中虽然没有直接提到,但根据JMeter常用组件,配置元件也是重要的部分,用来统一管理请求的默认设,减少重复配置。 监听器组件用于查看测试结果,比如查看结果树和聚合报告,这也是用户需要知道的部分,需要解释它们的功能和如何帮助分析测试数据。 另外,引用[3]提到JMeter最初用于Web应用测试,但已扩展到其他功能,所以可能需要提到JMeter支持的各种测试类型,比如HTTP、FTP、JDBC等,但用户的问题更关注常用组件,所以这部分可以简要带过。 在整理过程中,需要确保每个组件的介绍都包含功能描述、配置参数和使用场景,并正确引用提供的参考资料。例如,线程组的线程数设引用[2],断言的作用范围引用[4]等。同时,要检查是否有遗漏的重要组件,比如定时器、前处理器后置处理器等,但根据用户提供的引用,可能主要关注线程组、断言、配置元件和监听器。 最后,生成相关问题时,要围绕用户可能进一步询问的方向,比如如何配置线程组参数、断言的类型和使用方法、测试结果分析工具等,确保问题能够帮助用户深入理解JMeter的使用。</think>### JMeter常用组件功能介绍及使用说明 --- #### 一、线程组(Thread Group) **功能**: 线程组是测试计划的起点,用于模拟用户并发行为。通过设线程数、循环次数和启动延迟,控制负载规模。例如,设线程数为100时,JMeter会模拟100个用户向服务器发送请求[^2]。 **类型**: 1. **普通线程组**:默认类型,支持设线程数、循环次数、启动时间等参数。 2. **特殊线程组**(如`Ultimate Thread Group`):支持更复杂的并发模型,例如分阶段递增用户数。 **配置参数**: - **线程数**:模拟的虚拟用户数。 - **Ramp-Up时间**:所有线程启动完成所需时间(秒)。例如,线程数=100且Ramp-Up=10,表示每秒启动10个线程。 - **循环次数**:单个线程执行测试计划的次数。 --- #### 二、断言组件(Assertions) **功能**: 验证服务器响应是否符合预期,例如状态码、响应内容或响应时间。 **常见断言类型**: 1. **响应断言**:检查响应文本中是否包含指定字符串或正则表达式。 2. **大小断言**:验证响应数据的大小是否符合范围。 3. **持续时间断言**:判断请求响应时间是否超过阈值。 **作用范围**: - **主样本(Main sample)**:仅检查主请求的响应。 - **子样本(Sub-samples)**:检查嵌套请求(如页面中的图片加载)的响应[^4]。 --- #### 三、配置元件(Config Elements) **功能**: 为请求提供默认配置,减少重复设。 **常用元件**: 1. **HTTP请求默认值**:统一设协议、域名、端口等HTTP请求参数。 2. **CSV Data Set Config**:从CSV文件中读取参数,实现数据驱动测试。 **示例**: ```java // 配置HTTP请求默认值 协议: https 服务器名称: api.example.com 端口: 443 ``` --- #### 四、监听器(Listeners) **功能**: 收集并展示测试结果,如响应时间、吞吐量、错误率等。 **常用监听器**: 1. **查看结果树**:显示每个请求的详细响应数据,用于调试。 2. **聚合报告**:统计所有请求的平均响应时间、TPS(每秒事务数)等[^1]。 **使用技巧**: - 在高并发测试中,避免启用过多监听器以减少资源消耗。 --- #### 五、其他核心组件 1. **定时器(Timers)**:控制请求发送频率,如固定定时器(Fixed Timer)模拟用户思考时间。 2. **前处理器(Pre Processors)**:在请求前执行操作,例如生成动态参数。 3. **后置处理器(Post Processors)**:从响应中提取数据,如正则表达式提取器。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值