MeterSphere中数据库与接口结合断言
·
目录
一、概述
MeterSphere作为一款开源测试工具,在接口自动化测试方面所提供的非常强大而灵活的功能。断言是测试工作中比较常见的一种操作,针对数据库查询结果与接口请求的返回结果做断言,也是非常普遍的测试流程
MeterSphere针对这种情况,有着非常好的操作性。下面就在MeterSphere平台上,演示一下数据库查询结果与接口请求的返回结果做断言的基本流程
演示场景:
1、数据库查询默认项目的信息
2、通过接口查询默认项目的信息
3、对返回信息中的name字段做精准校验即断言
二、创建数据库请求
1、MeterSphere添加mysql数据源
在对应项目的环境配置中,新增数据库配置并保存

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

选择“SQL”类型:

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

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

三、创建接口请求
项目下环境变量配置HTTP环境信息:

创建HTTP接口:
"接口测试"--》“接口定义”

编辑接口:

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

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

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

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

四、添加断言
接口返回新增参数提取,用于提取返回的项目名称,采用JSONPath的方式提取:

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

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

断言脚本为:
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("=====查询项目匹配失败=====");
}
更多推荐
所有评论(0)