V3 版本 MeterSphere 数据库的使用


飞致云 发布于 2024-08-28 / 76 阅读 / 0 评论 /
1 上传数据库驱动 数据库驱动需要在【系统设置-系统-插件】上传驱动包,数据库驱动在 应用商店 下载

1 上传数据库驱动

数据库驱动需要在【系统设置-系统-插件】上传驱动包,数据库驱动在 应用商店 下载

2 配置数据库

点击【项目管理-环境管理-数据库-添加数据源】进入数据库配置页面,填写数据库连接信息即可

常见数据库连接 URL 可参考在线文档: https://metersphere.io/docs/v3.x/user_manual/project_management/environment/#23

3 数据库 SQL 操作

【接口测试-用例/场景】前置/后置操作里能添加 SQL 操作,点击【引入数据源】可将配置的数据源引入。

3.1 按列存储

写入 SQL 语句,将获取到值进行【按列存储】,如下图,会将查询的 id 列和 password 列分别存到 id,password里,后续在请求里可通过 ${id_#}/ ${password_#} 获取这列总行数,${id_1}/${password_1} 获取这列的第1条数据,${id_2}/${password_2} 获取这列的第2条数据。如若不想通过 ${id_1}/${password_1} 进行引用,则在【提取参数】处将 id_1/password_1 存为新变量,后续 ${新变量} 进行引用。

请求中引用新变量,可正常引用并发送请求。

3.2 按结果存储

写入 SQL 语句,将查询值【按结果存储】,会将所有的查询结果按照对象的模式进行存储到变量中,后续需要通过脚本去处理数据。

按结果存储获取到数据格式为 [{id=kaibo}],若需要对数据进行处理获取想要的值,最后再通过 vars.put("key", value); 将值存进变量里,后续直接 ${key} 进行引用。

# 获取数据库的存储结果
res=vars.get("result");
log.info("==res=="+res);
# 对数据进行处理,获取值 kaibo
p=res.split("=");
name=p[1].split("}");
log.info("==name=="+name[0]);
# 将值 kaibo 存为 username 变量
vars.put("username",name[0]);

4 执行多条 sql

对于 mysql 数据库,数据库连接 URL 后面拼接 ?allowMultiQueries=true 参数即可在 SQL 脚本处执行多条 sql。

对于 Oracle 数据库,数据库连接 URL 后面不需要拼接参数,直接在 SQL 脚本写多条 sql,格式为 【DECLARE begin 多条sql end;】



是否对你有帮助?