首页 > 数据库 >metersphere 接口自动化中sql场景使用

metersphere 接口自动化中sql场景使用

时间:2024-08-27 13:49:27浏览次数:8  
标签:no 结果 metersphere 接口 查询 循环 sql order

摘要:

 本文详细介绍了在接口自动化测试中如何连接数据库、编写SQL、获取执行结果,如何处理需要多次查询数据并进行依赖性比较的问题,包括循环控制、SQL查询中使用循环变量、计数器的应用以及结果比较的断言。

一、使用场景
在接口自动化测试过程中,有时需要从数据库中多次查询数据,并对查询结果进行比较,查询的前后存在依赖,多条记录循环处理。

二、实际场景实例

1.数据库连接设置

 2.创建sql接口

 4.先查询结果表信息,根据结果表的字段作为条件,用于后续源数据查询语句的条件,并根据源数据算术运算后的结果和结果表的实际结果进行比较。

(1)从订单表和售后表里查询出需要退款的订单号db_order_no字段信息用于后续查询件,db_real_amount字段用于后续接口使用

 

 

(2)源数据查询
以查询出来的的order_no的字段为条件,在订单表里,循环查询原始数据。

难点1:

如何进行循环控制?
a.使用场景用例的循环控制器,选择次数循环。

获取sql查询结果行数:${列名_#} ,本场景中实际变量是:${db_order_no_#}

 难点2

如何在sql查询条件中使用前一步骤结果列单行作为变量赋值?
获取sql查询结果(按列存储的方式): ${列表名_n}

例如:获取第一行的order_no值:${order_no_1}

如何在循环控制器中,获取循环次数具体值?
使用计数器:${__counter(,)} , 从1开始。

存在的问题,在第一次循环时,计数器输出结果为2,导致第一行的order_no无法取到、且最后一行取值越界。

解决方案:前置脚本中处理计数值,并设置为场景变量,用于后续引用。

 难点3

如何在循环控制器中使用前一步骤的查询结果列作为下个接口的入参?
分析:单行查询条件,需要${order_no_行号}的格式。

解决方案:使用${__V(变量名)}函数,结合计数器,生成变量名表达式,本例中 ​​​​​${__V(order_no_${count})}。随着每一次循环,其结果对应${order_no_1}、${order_no_2}...实际的列字段值。

 

标签:no,结果,metersphere,接口,查询,循环,sql,order
From: https://www.cnblogs.com/jingchen2019/p/18382544

相关文章

  • PostgreSQL基础
    1.数据类型1.4布尔类型bool1.5网络地址类型cidr:对ip和子网掩码合法性做校验,输出时会带子网掩码inet:对ip做校验,输出时有可能带子网掩码macaddr和macaddr8:MAC地址1.5.1操作符1.5.2函数host:取ip地址SELECThost(cidr'192.168.2.0/24')text:取ip和子网掩码SE......
  • SQL基础综合练习题(39题)
    https://download.csdn.net/download/ruyigongfang/89681313可以用这个文件的建表语句在自己的pysql执行,就有该练习用的表。https://download.csdn.net/download/ruyigongfang/89681312该链接是只有题没有答案的文档。所用到的表:student(学生表):sno(学号),sname(学生姓名),ssex(学......
  • WAMP(Windows + Apache + MySQL + PHP)是在 Windows 系统上搭建本地 Web 开发环境的一种
    WAMP(Windows+Apache+MySQL+PHP)是在Windows系统上搭建本地Web开发环境的一种方式。下面是WAMP中一些常见的问题及其解决方法:启动问题启动后WAMP托盘图标显示橙色描述:WAMP启动后托盘图标显示为橙色,表示某些服务没有正常启动。解决方法:检查Apache或MySQL......
  • XAMPP 是一个非常流行的本地开发环境,用于搭建 PHP、MySQL、Apache 等服务
    XAMPP是一个非常流行的本地开发环境,用于搭建PHP、MySQL、Apache等服务。在使用XAMPP的过程中,可能会遇到各种问题。这里总结了一些常见的问题及其解决方法:安装与配置问题安装失败描述:安装过程中出现错误或安装完成后无法正常启动。解决方法:确保安装过程中没有中断。......
  • 【java计算机毕设】网上商城MySQL springcloud vue HTML maven项目设计源码带项目报告
    目录1项目功能2项目介绍3项目地址 1项目功能【java计算机毕设】网上商城MySQLspringcloudvueHTMLmaven项目设计源码带项目报告PPT前后端可分离也可不分离 2项目介绍系统功能:网上商城包括管理员、用户两种角色。管理员功能包括个人中心模块用于修改个人......
  • 如何考取PostgreSQL认证证书?
    PostgreSQL数据库炙手可热,国内知名的腾讯云TDSQL、阿里云PolarDB都有PostgreSQL版本的产品,还有人大金仓、华为opengauss、翰高数据库等都跟PostgreSQL有关系,所以考一个PostgreSQL认证非常有必要。要获得PostgreSQL认证,可以从以下几个方面着手:一、了解PostgreSQL认证体系PostgreS......
  • ETL数据集成丨实现SQLServer数据库的高效实时数据同步
    SQLServer,作为一款功能强大的关系型数据库管理系统(RDBMS),在企业级应用中占据着举足轻重的地位。它不仅提供了可靠的数据存储与管理能力,还集成了高级数据分析、报表服务、集成服务以及商业智能等功能,为复杂业务场景提供了全面的解决方案。SqlServer核心特性高性能与高可用性:SQL......
  • CI3捕获SQL语句异常
    之前遇到数据库语句错误,一直无法捕获异常publicfunctionhehe(){try{$data=array('title'=>123134,'content'=>'aaaaa','aaa'=>222......
  • sqlite3安装使用
    下载sqlite解压到一个目录配置系统变量Path=D:\software\sqlite3打开cmd验证cdD:\software\sqlite3>D:\software\sqlite3>sqlite3SQLiteversion3.46.12024-08-1309:16:08(UTF-16consoleI/O)Enter".help"forusagehints.Connectedtoat......
  • JuiceFS元数据引擎PostgreSQL
    使用PostgreSQL作为JuiceFS元数据引擎,各表的含义和字段做一个简单归纳juicefs数据库用于存储juicefs文件信息postgres=#\lListofdatabasesName|Owner|Encoding|LocaleProvider|Collate|......