Jmeter获取上一个接口的返回值作为接口的参数

本文介绍如何在JMeter中使用正则表达式提取器,通过具体实例讲解设置方法,包括引用名称、正则表达式、模版及匹配数字等关键参数的配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、添加正则表达式获取器
上一接口 > Add > Post Processors > Regular Expression Extractor
在这里插入图片描述
在这里插入图片描述
引用名称:lid (后面接口用到的变量名称 )
正则表达式:.“lid”:"(.+?)".
模版 :$1 $
(模板是使用提取到的第几个值,从 1 开始匹配)
匹配数字:1
(表示如何取值。0 代表随机取值,1 代表全部取值。这里只有一个,填 1 即可。)

### 如何在 JMeter使用一个接口返回值作为下一个接口参数 #### 使用正则表达式提取器 为了实现这一目标,可以采用正则表达式提取器来捕获所需的数据。当创建一个新的HTTP请求并配置好所有必要的请求参数后,在该HTTP采样器下添加一个正则表达式提取器[^2]。 - **Field to check**: 这里通常选择`Body`选项,表示从响应体中抽取数据。 - **Reference Name**: 定义变量名用于存储匹配的结果,比如命名为`myVar`. - **Regular Expression**: 编写合适的正则表达式模式去匹配想要抓取的内容。例如,如果要获取JSON格式中的某个特定字段,则可以根据其结构编写对应的正则表达式。 - **Template**: 默认情况下应保持为 `$1$`, 表示只保留第一个子串。 - **Match No.**: 如果知道确切的位置可以直接指定;若不确定或有多处相同内容可设为0随机选取一项,或是设置成负数值(-1),意味着会保存所有的匹配项到数组形式的变量中[^3]. ```regex "key":"(.+?)" ``` 上述例子展示了如何通过正则表达式 `"key":"(.+?)"` 来捕捉 JSON 响应里的 `key` 的值。 #### 利用 JSON 提取器处理 JSON 数据 对于更复杂的场景特别是涉及到 JSON 格式的 API 调用时,推荐利用内置的 JSON Path Extractor 插件来进行更加精准高效的解析操作。同样是在 HTTP 请求之下新增此组件,并按照实际需求调整各项属性: - **Variable Names**: 同理定义用来接收结果集的名字。 - **JSON Path Expressions**: 输入有效的 JSONPath 查询语句指向待提取的目标节点路径。 - **Default Values (optional)**: 可选填默认值以防万一找不到预期条目时不至于使整个测试计划崩溃。 假设服务器端传来如下所示的部分片段: ```json { "data": { "id": 123, ... } } ``` 那么就可以这样设定 JSON Path 表达式:`.data.id`. #### 循环读取多个返回值 如果有多个相同的键值对需要依次传送给后续步骤的话,可以通过组合使用循环控制器和计数器达成目的。具体做法参照提供的资料说明,在首次调用成功获得一系列候选对象之后立即附加 JsonExtractor 组件完成批量收集工作,紧接着引入 ForEach Controller 或 While Controller 结合 Counter 实现迭代访问每一个成员直至结束为止。 最后一步就是在紧随其后的任何地方引用之前所建立起来的那个公共命名空间下的局部变量即可达到共享资源的效果了。例如 `${myVar}` 或者针对多实例情况下的 `${__V(myVar_${counter})}`, 其中 counter 是由Counter元件产生的序号标签。 ```python print(f'Using variable {myVar}') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值