You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将ArrayList存入全局变量并在其他请求中调用

实现方案

核心逻辑都是统一的:先从第一个接口的响应结果中提取pinvalues数组,存储到对应工具的全局存储区,第二个请求调用时直接读取全局存储的数组赋值给pinposition字段即可,以下是主流工具的具体操作:

1. Postman 场景

  • 在返回pinvalues的接口的「Tests」标签页添加如下代码,将数组存入全局变量:
// 提取响应中的pinvalues数组
const pinValues = pm.response.json().pinvalues
// 序列化后存入Postman全局变量
pm.globals.set("global_pin_values", JSON.stringify(pinValues))
  • 在需要传pinposition的请求中直接调用,若请求体为raw JSON格式,写法如下:
{
  "pinposition": {{global_pin_values}}
}

如果需要在脚本中操作数组,使用JSON.parse(pm.globals.get("global_pin_values"))反序列化为JS数组即可。

2. Python 接口脚本场景

  • 定义全局变量存储提取到的数组,示例代码如下:
# 声明全局变量存储pin值
global_pin_values = []

# 第一个接口请求及值提取逻辑
def request_first_api():
    import requests
    resp = requests.get("替换为你的第一个接口地址")
    resp_data = resp.json()
    global global_pin_values
    global_pin_values = resp_data.get("pinvalues", [])

# 第二个接口请求逻辑
def request_second_api():
    import requests
    req_body = {
        "pinposition": global_pin_values
    }
    resp = requests.post("替换为你的第二个接口地址", json=req_body)
    return resp

3. JMeter 场景

  • 在第一个接口下新增JSON提取器,配置参数:
    • 引用名称:global_pin_values
    • JSON Path表达式:$.pinvalues
    • 匹配数字:-1(提取完整数组)
  • 第二个请求的JSON请求体中直接引用变量:
{
  "pinposition": ${global_pin_values}
}

注意:如果是跨线程组调用,需要将提取的值存为JMeter属性,使用__setProperty函数存储,__P函数读取即可。

内容的提问来源于stack exchange,提问作者prem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 06:54:04