目录
一、概述
二、创建数据库请求
1、MeterSphere添加mysql数据源
2、创建自定义SQL类型请求
三、创建接口请求
四、添加断言
一、概述
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("=====查询项目匹配失败=====");
}