【最佳实践】MeterSphere 数据库提取参数和断言


飞致云 发布于 2023-01-31 / 3260 阅读 / 0 评论 /
1 数据库提取参数 1.1 参数说明 数据库的查询接口存储分为“按存储结果”和“按列存储”。 按存储结果:会将所有的查询结果按照对象的模式进行存储至变量中。 按列存储:直接指定取出返回结果字段值的数据,这里的列要和 SQL 语句中查询返回结果列对应,多列中间用逗号分割。 如果返回的查询结果列数非常多

1 数据库提取参数

1.1 参数说明

数据库的查询接口存储分为“按存储结果”和“按列存储”。

  • 按存储结果:会将所有的查询结果按照对象的模式进行存储至变量中。

  • 按列存储:直接指定取出返回结果字段值的数据,这里的列要和 SQL 语句中查询返回结果列对应,多列中间用逗号分割。

1.png如果返回的查询结果列数非常多,这个时候我们要取最后一列数据,就可以用【逗号】作为占位符代替列名,只有需要提取列名称上的数据才写列名即可。

2.png1.2 数据库的提取示例和引用

按存储结果为 project,按列存储为 project_id,template_id,issue_template_id,system_id,如下图:

4.png

数据库查询结果如图:

3.png

  • 按存储结果: 将所有的查询结果按照对象的模式进行存储至变量 project,后续需要通过脚本去处理想要的值。

  • 按列存储: 会将查询的结果按列分别存到 project_id,template_id,issue_template_id,system_id,后续可通过 ${变量_#} 获取这列总行数,${变量_n} 获取这列的第几条数据。如:${project_id_#} 表示 project_id 这列数据的条数,${project_id_n},n 为行数,${project_id_1} 为 project_id 这列的第一条数据。

利用后置脚本对结果在控制台中进行打印如下图:

5.png6.png1.3 数据库的提取获取某行所有值脚本处理示例

目前,MeterSphere 暂不支持获取某列的所有值,仅支持通过 ${变量_n} 的形式获取某一行的值。可以通过按存储结果获取,将所有的查询结果按照对象的模式进行存储至变量中,之后通过后置脚本处理成你需要的数据。

按存储结果为 project,数据库查询结果如下图:

9.png

7.png后置脚本处理获取 id 这一列所有值,如下图:

10.png11.png2 数据库断言

2.1 断言示例

采用脚本断言进行操作

13.png

选择脚本断言后,通过 MeterSphere 脚本自动填充能力,自动生成断言脚本,比如判断 project_id_1 的值是否等于 01003180-e001-4ed8-b09e-b57f3e54e3eb :

14.png断言结果如图:

15.png




是否对你有帮助?