51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

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

1 数据库提取参数 {#1-%E6%95%B0%E6%8D%AE%E5%BA%93%E6%8F%90%E5%8F%96%E5%8F%82%E6%95%B0}

1.1 参数说明 {#1.1-%E5%8F%82%E6%95%B0%E8%AF%B4%E6%98%8E}

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

  • 按存储结果:会将所有的查询结果按照对象的模式进行存储至变量中。
  • 按列存储:直接指定取出返回结果字段值的数据,这里的列要和 SQL 语句中查询返回结果列对应,多列中间用逗号分割。

1-1673502520444

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

1.2 数据库的提取示例和引用 {#1.2-%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E6%8F%90%E5%8F%96%E7%A4%BA%E4%BE%8B%E5%92%8C%E5%BC%95%E7%94%A8}

数据库查询结果如下图:
3-1673502610665

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

按存储结果,将所有的查询结果按照对象的模式进行存储至变量 project。按列存储,会将查询的结果按列分别存到 project_id,template_id,issue_template_id,system_id。

如采用了按列存储,后续通过 变 量 n 方式进行引用,例如: {变量_n} 方式进行引用,例如: 变量n方式进行引用,例如:{project_id_n}, t e m p l a t e i d n , n 为行数, {template_id_n},n 为行数, templateidn,n为行数,{project_id_1} 为 project_id 这列的第一行值。

通过 {变量_#} 可以获取总行数,例如:{project_id_#},可以获取 project_id 这列共多少行。

为了展示,利用后置脚本对结果在控制台中进行打印如下图:
5-1673502694581

执行结果:
6-1673502725121

1.3 数据库的提取获取某行所有值脚本处理示例 {#1.3-%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E6%8F%90%E5%8F%96%E8%8E%B7%E5%8F%96%E6%9F%90%E8%A1%8C%E6%89%80%E6%9C%89%E5%80%BC%E8%84%9A%E6%9C%AC%E5%A4%84%E7%90%86%E7%A4%BA%E4%BE%8B}

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

数据库查询结果如下图:
7-1673502784989

按存储结果为 project,如图:
8-1673502817805

后置脚本处理获取 id 这一列所有值,如下图:
9-1673503105806

处理结果:
10-1673503165804

2 数据库断言 {#2-%E6%95%B0%E6%8D%AE%E5%BA%93%E6%96%AD%E8%A8%80}

2.1 断言示例 {#2.1-%E6%96%AD%E8%A8%80%E7%A4%BA%E4%BE%8B}

采用脚本断言进行操作
11-1673503212358

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

执行结果如图:
13-1673503289587

赞(0)
未经允许不得转载:工具盒子 » 【最佳实践】MeterSphere 数据库提取参数和断言