Jmeter-后置处理器,断言,监听器

本文介绍了接口测试中常用的后置处理器,如BeanShell后置处理程序、JSON提取器和正则提取器,它们用于提取响应数据。同时,详细讲解了响应断言和Json断言在验证响应结果中的应用。此外,还探讨了监听器的作用,如查看结果树、汇总报告和聚合报告,这些工具帮助开发者全面了解请求和响应详情。

1:后置处理器

BeanShell 后置处理程序:和前置相同作用

调试后置处理程序:调试使用,打印详细的响应结果

在这里插入图片描述

JSON提取器:对响应返回的结果进行提取

在查看结果树中选择JSON Path Tester

在这里插入图片描述

JSON提取式:

$表示整个json字符串
$.key表示json字符串中的key的value
$.key[*]表示json字符串中key的value为一个列表,*表示全部的元素
$.key[1] 1表示获取列表中第二个元素,索引从0开始
$.key[0].k 表示json字符串中key的value中第一个元素,k属性的value

在这里插入图片描述

正则提取器:对响应返回的结果进行提取

在这里插入图片描述

2:断言

响应断言:

在这里插入图片描述

Json断言:

在这里插入图片描述

3:监听器

查看详细的请求和响应数据,常用四种监听器

在这里插入图片描述

察看结果树:

在这里插入图片描述

汇总报告:
在这里插入图片描述

聚合报告:

在这里插入图片描述

用表格查看结果:

在这里插入图片描述

### Benshell 后置处理器断言的使用方法 Benshell后置处理器允许通过编写BeanShell脚本来处理采样后的数据。此功能可以用于执行复杂的逻辑操作,包括验证响应内容、修改变量以及记录日志等。 #### 创建 BeanShell 后置处理器并添加断言 为了创建一个带有断言功能的BeanShell后置处理器,在JMeter测试计划中按照如下方式设置: 1. **选择合适的取样器** 将BeanShell后置处理器作为子元素附加到特定的HTTP请求或其他类型的取样器上[^1]。 2. **配置BeanShell 脚本** 编写一段简单的BeanShell代码来实现所需的断言逻辑。下面是一个基本的例子,该例子检查服务器返回的状态码是否为`200 OK`: ```beanshell // 获取前一个取样器的结果对象 prev = prev; // 检查状态码是否等于200 (OK) if (!prev.getResponseCode().equals("200")) { // 如果不是,则抛出异常, 设置失败标志位 Failure = true; FailureMessage = "Expected status code 200 but got " + prev.getResponseCode(); } ``` 这段代码会获取最近一次请求的响应信息,并将其与预期值进行比较。如果不匹配,则标记此次迭代为失败,并给出具体的错误消息。 3. **运行测试并查看结果** 执行测试之后可以在监听器组件里看到由上述脚本产生的任何失败情况及其描述的信息。这有助于快速定位问题所在之处。 #### 常见问题解决方案 当遇到有关于BeanShell后置处理器中的断言不按预期工作的情况时,可尝试以下几个建议来进行排查和修复: - **调试模式启用**: 开启BeanShell解释器的日志级别至DEBUG以便更详细的了解内部运作过程。 - **语法检查**: 确认所编写的Java/BeanShell语句不存在明显的拼写或结构上的缺陷;利用IDE工具提前检测可能存在的编程错误。 - **环境兼容性确认**: 验证当前使用的JMeter版本和支持库文件是否支持所有的函数调用及特性应用。 - **资源路径校验**: 对涉及外部资源读取的操作(比如加载其他类),要确保这些资源能够被正确访问且其相对位置无误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值