2026-04-10 19:07:38
在MeterSphere中,可以通过引用CSV文件或数据库提取两种方式从外部文件获取参数,具体操作如下:
一、引用CSV文件中的参数非JSON格式处理当请求参数为非JSON格式时,需在CSV文件中预先定义变量(如param1、param2),并在接口请求参数中通过__v函数和_eval函数拼接参数。例如,若CSV中某行数据为param1=value1,param2=value2,可在请求参数中写为${__v(param1)}_${_eval(param2)},实现跨接口参数传递。此方式适用于需要动态组合参数的场景,如拼接URL或表单数据。
JSON格式处理若JSON请求体中需引用上个接口的返回参数,可将完整的JSON体作为变量存储在CSV文件中(如json_body={"key":"${extracted_value}"}),并在接口请求时通过__eval函数解析。例如,在CSV中定义变量json_body,内容为{"user_id":"${user_id}"},接口请求时使用${__eval(${json_body})},系统会自动替换${user_id}为实际提取的值。此方式适用于API链式调用中参数复用的场景。
按存储结果处理通过SQL查询将结果存储为对象模式变量(如${db_result}),后续通过脚本(如Python或Groovy)提取所需值。例如,执行SQLSELECT name, age FROM users后,结果会以对象数组形式存储,可通过脚本遍历${db_result}获取每行的name和age。此方式适用于需要复杂逻辑处理数据的场景。
按列存储处理直接指定SQL查询结果的列名(如name,age),系统会将每列数据存储为独立变量(如${name_1}、${age_1}),并通过${变量_#}获取总行数,${变量_n}获取第n行数据。例如,查询SELECT id, status FROM orders后,可通过${id_2}获取第二行的id值。此方式适用于需要直接引用特定列数据的场景,操作更简洁。
注意事项: