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

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

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

MeterSphere添加MySQL数据源

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

使用分享|MeterSphere SQL数据库查询校验操作指南_第1张图片

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

使用分享|MeterSphere SQL数据库查询校验操作指南_第2张图片

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

使用分享|MeterSphere SQL数据库查询校验操作指南_第3张图片

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

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

1. 发送SQL查询请求

使用分享|MeterSphere SQL数据库查询校验操作指南_第4张图片

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

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

2-1 新增脚本类型断言

使用分享|MeterSphere SQL数据库查询校验操作指南_第5张图片

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列数据作为断言变量

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

使用分享|MeterSphere SQL数据库查询校验操作指南_第6张图片

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

使用分享|MeterSphere SQL数据库查询校验操作指南_第7张图片

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}取值的时候报空指针异常。

使用分享|MeterSphere SQL数据库查询校验操作指南_第8张图片

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

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

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

使用分享|MeterSphere SQL数据库查询校验操作指南_第9张图片

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

使用分享|MeterSphere SQL数据库查询校验操作指南_第10张图片

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

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

使用分享|MeterSphere SQL数据库查询校验操作指南_第11张图片

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

你可能感兴趣的:(持续测试,MeterSphere,教程,数据库,sql)