metersphere从外部文件获取参数

metersphere从外部文件获取参数
最新回答
你们不会忘记我

2026-04-10 19:07:38

在MeterSphere中,可以通过引用CSV文件或数据库提取两种方式从外部文件获取参数,具体操作如下:

一、引用CSV文件中的参数
  1. 非JSON格式处理当请求参数为非JSON格式时,需在CSV文件中预先定义变量(如param1、param2),并在接口请求参数中通过__v函数和_eval函数拼接参数。例如,若CSV中某行数据为param1=value1,param2=value2,可在请求参数中写为${__v(param1)}_${_eval(param2)},实现跨接口参数传递。此方式适用于需要动态组合参数的场景,如拼接URL或表单数据。

  2. JSON格式处理若JSON请求体中需引用上个接口的返回参数,可将完整的JSON体作为变量存储在CSV文件中(如json_body={"key":"${extracted_value}"}),并在接口请求时通过__eval函数解析。例如,在CSV中定义变量json_body,内容为{"user_id":"${user_id}"},接口请求时使用${__eval(${json_body})},系统会自动替换${user_id}为实际提取的值。此方式适用于API链式调用中参数复用的场景。

二、数据库提取参数
  1. 按存储结果处理通过SQL查询将结果存储为对象模式变量(如${db_result}),后续通过脚本(如Python或Groovy)提取所需值。例如,执行SQLSELECT name, age FROM users后,结果会以对象数组形式存储,可通过脚本遍历${db_result}获取每行的name和age。此方式适用于需要复杂逻辑处理数据的场景。

  2. 按列存储处理直接指定SQL查询结果的列名(如name,age),系统会将每列数据存储为独立变量(如${name_1}、${age_1}),并通过${变量_#}获取总行数,${变量_n}获取第n行数据。例如,查询SELECT id, status FROM orders后,可通过${id_2}获取第二行的id值。此方式适用于需要直接引用特定列数据的场景,操作更简洁。

注意事项:

  • CSV文件需放置在MeterSphere的data目录下,并在接口测试中配置文件路径。
  • 数据库连接需提前在MeterSphere的“数据源”模块中配置,确保SQL语句可执行。
  • 使用__eval函数时需注意参数格式,避免因语法错误导致解析失败。