目录

一、概述

二、创建数据库请求

1、MeterSphere添加mysql数据源

 2、创建自定义SQL类型请求

三、创建接口请求

四、添加断言


一、概述


      MeterSphere作为一款开源测试工具,在接口自动化测试方面所提供的非常强大而灵活的功能。断言是测试工作中比较常见的一种操作,针对数据库查询结果与接口请求的返回结果做断言,也是非常普遍的测试流程

MeterSphere针对这种情况,有着非常好的操作性。下面就在MeterSphere平台上,演示一下数据库查询结果与接口请求的返回结果做断言的基本流程

演示场景:

1、数据库查询默认项目的信息

2、通过接口查询默认项目的信息

3、对返回信息中的name字段做精准校验即断言

二、创建数据库请求

1、MeterSphere添加mysql数据源

在对应项目的环境配置中,新增数据库配置并保存

mysql 中断言 mysql支持断言吗_业务流程测试

 2、创建自定义SQL类型请求

接口自动化下面,创建一个新的场景,点击右下角的“加号”,点击“自定义请求”

mysql 中断言 mysql支持断言吗_数据库查询_02

选择“SQL”类型:

mysql 中断言 mysql支持断言吗_业务流程测试_03

参数及sql填好之后,可以点击“测试” 按钮,即可得到如下结果:

mysql 中断言 mysql支持断言吗_业务流程测试_04

 然后点击最下方的“保存”按钮,此时一个SQL请求就完成了

mysql 中断言 mysql支持断言吗_业务流程测试_05

三、创建接口请求

项目下环境变量配置HTTP环境信息:

mysql 中断言 mysql支持断言吗_测试类型_06

 创建HTTP接口:

"接口测试"--》“接口定义”

mysql 中断言 mysql支持断言吗_数据库查询_07

编辑接口:

 

mysql 中断言 mysql支持断言吗_测试类型_08

 在接口自动化中引用刚才创建好的接口

mysql 中断言 mysql支持断言吗_数据库查询_09

 创建场景变量,此处的场景变量用于赋值一些全局参数

mysql 中断言 mysql支持断言吗_业务流程测试_10

 在场景中通过"${projectId}"来替换sql中的查询条件和请求URL的参数

mysql 中断言 mysql支持断言吗_mysql 中断言_11

选择好环境,点击调试,得到如下结果:

mysql 中断言 mysql支持断言吗_数据库查询_12

四、添加断言

接口返回新增参数提取,用于提取返回的项目名称,采用JSONPath的方式提取:

mysql 中断言 mysql支持断言吗_业务流程测试_13

 数据库结果放置到变量内:

mysql 中断言 mysql支持断言吗_业务流程测试_14

添加脚本断言,此处的断言是beanshell脚本,也可以采用其他方式

mysql 中断言 mysql支持断言吗_SQL_15

断言脚本为:

String db_name= vars.get("db_name");
log.info("="+db_name);

String post_name ="${name}";
log.info("="+post_name);

if(db_name!=null && db_name.equals(post_name)){
     AssertionResult.setFailure(false);
     log.info("=====查询项目匹配成功=====");
}else{
     AssertionResult.setFailure(true);
     log.info("=====查询项目匹配失败=====");
}