使用分享|MeterSphere SQL数据库查询校验操作指南

以下文章来源于Bruce小鬼的CSDN博客:https://blog.csdn.net/m0_38039437/article/details/110133647。

使用MeterSphere做接口自动化测试是一件非常愉快的事情,提供的功能也非常强大。下面我们就来说说如何在MeterSphere平台中使用数据库展开业务测试吧。

MeterSphere添加MySQL数据源

1. 在场景中打开环境配置

在这里插入图片描述

2. 在环境配置页面新增jdbc数据库

在这里插入图片描述

3. 测试数据库是否可以连通

在这里插入图片描述

发送SQL请求并进行业务断言

配置好数据库,我们就可以发起SQL查询请求了。在这里我们做个小的Demo演示如何使用查询结果数据来断言我们业务测试结果的成功与失败。

1. 发送SQL查询请求

在这里插入图片描述

2. 查询结果断言业务成功与否

我们判断查询数据库结果中是否有一条Type字段为1的数据。如果存在则创建用户成功,如果没有则为失败。

2-1 新增脚本类型断言

在这里插入图片描述

2-2 脚本完整代码

// ${type_1}表示取出type字段中第一条数据,取第几条数据角标写对应数字即可。
if(${type_1}==1){
    AssertionResult.setFailure(false);
    log.info("=====创建用户成功=====");
}else{
    AssertionResult.setFailure(true);
    log.info("=====创建用户失败=====");
}

2-3 执行SQL查询结果

在这里插入图片描述

从断言结果中可以看到,我们创建用户业务已经成功。

3. 引用数据库返回结果做断言遇到的问题及解决方式

3-1 描述我们的需求

从查询结果中拿到Type列的第一条数据,然后判断第一条数据Type字段的值是否为1,如果为1就让断言成功。否则就让断言失败。

3-2 编写查询SQL语句

SELECT * from user where phone=‘13700000099’;

3-3 提取Type列数据作为断言变量

这里需要先说明下提取结果中存储结果和按列存储两种方式区别。

在这里插入图片描述

3-4 这里是我们执行查询返回的数据

在这里插入图片描述

3-5 断言脚本

取出查询结果Type为1的这条数据,然后判断是否等于1。

// ${type_1}表示取出type字段中第一条数据,取第几条数据角标写对应数字即可。
if(${type_1}==1){
    AssertionResult.setFailure(false);
    log.info("=====创建用户成功=====");
}else{
    AssertionResult.setFailure(true);
    log.info("=====创建用户失败=====");
}

发现断言总是失败,然后查看日志发现${type_1}取值的时候报空指针异常。

在这里插入图片描述

这里为什么会报空指针异常错误?我们查询返回的结果是没有问题的,里面有一条数据,但是在取第一条数据Type字段值的时候没有取到这个值导致报出异常。通过多次尝试,原来问题的原因是——对按列存储理解有错误导致出现上面的问题。

3-6 按列存储正确使用方式

按列存储是根据查询返回结果字段从左到右的顺序才能取到我们需要指定字段里面的值,不是我们写个Type名称就对应返回结果中Type字段的数据。示例如下:

在这里插入图片描述

上图中Type列在返回结果中第三列,我们现在要取出Type列的数据。按列存储填写方式如下,这样Type取出的值才是查询返回结果中第三列Type字段的值。

在这里插入图片描述

上面返回的查询结果列数非常多。这个时候我们要取最后一列数据,那么前面每列的名称都要写出来。那是多么麻烦的事情呀,不符合用代码做事的风格。

注:这个时候就可以用逗号作为占位符代替列名,只有需要提取列名称上的数据才写列名即可。

在这里插入图片描述

————————————————
版权声明:本文为CSDN博主「Bruce小鬼」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值