jmeter jsonpath提取多个值

names of created variables :接收值的变量名
json path: json path表达式
match no:0随机;n取第几个匹配值;-1匹配所有,后续引用用 变量名_N 取第N个值。
default values: 缺省值,匹配不到值的时候取该值

match no 为-1时可以取出所有符合条件的值
在这里插入图片描述

### 如何在 JMeter 中使用 JSON 提取器获取多个参数 在性能测试工具 Apache JMeter 中,`JSON Extractor` 是一种非常强大的后置处理器,用于从服务器响应中提取所需的 JSON 数据。当需要处理多个参数时,可以通过配置 `JSON Extracter` 的表达式来实现这一目标。 #### 配置 JSON Extractor 获取多个参数 为了从 JSON 响应中提取多个参数,可以按照以下方式设置: 1. **添加 JSON Extractor**: 将 `JSON Extractor` 添加到 HTTP 请求下作为子组件。 2. **定义变量名称**: 使用不同的变量名存储每个要提取的字段。 3. **编写 JSONPath 表达式**: 对于每一个希望提取的参数,都需要提供对应的 JSONPath 表达式[^2]。 以下是具体的操作方法以及示例代码展示如何通过单个请求同时捕获两个或更多数据项。 ```properties # 示例 JSON 负载结构 { "id": 10, "name": "John Doe", "email": "john.doe@example.com" } ``` 对于上述 JSON 结构,在 JMeter 的 `JSON Extractor` 组件里可做如下设定: | 字段 | 描述 | |----------------|----------------------------------------------------------------------| | 名称 | 可随意命名此元件 | | 属性名称 | 输入将保存结果的变量名字 | | JSON Path 表达式 | 编写匹配路径 | 假设我们想要分别抓取用户的 ID 和姓名,则需创建两条记录: - 第一条:属性名为 `${userId}` ,其对应 JSONPath 应该是 `$..id`; - 第二条:属性名为`${userName}`, 它关联的 JSONPath 则设成 `$..name`. 注意这里的语法遵循标准 JSONPath 规范[^3]. 另外得注意的是如果遇到数组类型的返回结果(比如列表形式),那么可能还需要考虑索引位置或者通配符(*)的应用场景. 最后一步就是确认这些新产生的环境变量可以在后续步骤里面被正常调用了,这通常借助 Debug Sampler 来验证实际效果. ```python print(f"User Id is {vars.get('userId')}") print(f"User Name is {vars.get('userName')}") ``` 以上脚本片段演示了怎样利用 Beanshell 或 JSR223 类型 samplers 访问之前所提到过的自定义变量并打印出来便于调试查看。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值