JMeter如何从数据库中获取数据并作为变量使用?

news2024/11/7 20:54:10

目录

前言

1、JMeter连接MySQL数据库

2、线程组下新建一个 JDBC Connection Configuration 配置元件

3、实现数据库的查询-单值引用

4、实现数据库的查询-多值引用

总结:


前言

JMeter如何从数据库中获取数据并作为变量使用?这在我们使用JMeter接口测试压力测试时经常碰到,今天通过两个示例(实现MySQL数据库的查询结果的单值引用多值引用)进行说明。这里虽然以MySQL数据库做说明,但实际其他数据库连接使用与之类似。

1、JMeter连接MySQL数据库

首先得下载mysql jdbc驱动包 mysql-connector-java.jar (注:驱动包的版本一定要与你数据库的版本匹配,驱动版本低于MySQL版本有可能会导致连接失败报错)。把该jar放置于 [JMeter安装目录]/lib 下

也可以在 测试计划 中,通过 Add directory or jar to classpath 添加 mysql jdbc 驱动包

 Python自动化测试学习交流群:全套自动化测试面试简历学习资料获取点击链接加入群聊【python自动化测试交流】:http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=DhOSZDNS-qzT5QKbFQMsfJ7DsrFfKpOF&authKey=eBt%2BF%2FBK81lVLcsLKaFqnvDAVA8IdNsGC7J0YV73w8V%2FJpdbby66r7vJ1rsPIifg&noverify=0&group_code=198408628

 

2、线程组下新建一个 JDBC Connection Configuration 配置元件

详细配置如下图:

配置说明(红色框内为需要配置的值,其他保持默认即可):
1)Variable Name:数据库连接池的变量名,最好填写一个有实际意义的名称,后面JDBC request调用需要使用;
2)Database Connection Configuration:数据库连接配置,需要根据实际数据库部署情况配置:
Database URLjdbc:mysql://host:数据库端口/数据库名称
注意:
①host可以为域名或IP地址,如果后面不填入端口,则默认端口为3306;
②之所以在数据库名称后加入 ?allowMultiQueries=true ,是为了在JDBC Request中支持多条SQL操作,如要执行多条select、或update等SQL操作。
JDBC Driver class:因为连接MySQL数据库,所以选择 com.mysql.jdbc.Driver
常见数据库Database URL 和 JDBC Driver class配置如下

Username 和 Password:为数据库的用户名和密码。

3、实现数据库的查询-单值引用

1)在 简单控制器 添加Sampler JDBC Request,并添加监听器 查看结果树 方便查看执行结果。

JDBC Request说明:
①填写 基础配置(即 JDBC Connection Configuration) 里的变量,保持一致即可;
②查询类型选择:Select Statement;
③查询语句,根据实际需求填写;
④查询结果值引用变量,随意填写,能表达字段意思即可。

2)执行查询动作

3)查询结果值引用
我们查询数据库的目的是为了引用查询的结果,即:testui,admin,Eva_208,Eva_208,Eva_208,Eva_208,Eva_208,Eva_208

引用第1个变量(有多少条查询结果,即有多少个变量)

说明:
①引用变量的方法,${变量名_数字} ,这里的数字为查询结果的第几条记录数,以 开头,这里引用第一个则为: ${author_1}

 Python自动化测试学习交流群:全套自动化测试面试简历学习资料获取点击链接加入群聊【python自动化测试交流】:http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=DhOSZDNS-qzT5QKbFQMsfJ7DsrFfKpOF&authKey=eBt%2BF%2FBK81lVLcsLKaFqnvDAVA8IdNsGC7J0YV73w8V%2FJpdbby66r7vJ1rsPIifg&noverify=0&group_code=198408628

 

引用第2个变量

发现这样每次引用变量都要修改一下数字,不是很方便,有没有自动增长的引用方法呢?

解决办法:添加 计数器(选中 [ 逻辑控制器 ] 右键->添加->配置元件->计数器),我们需要的值是根据 ${变量名称_N} 来取的,这个N通过计数器递增的方式获取。具体用法,参考JMeter专题后续文章。

4)统计查询结果数量

说明:
①查询结果数量统计,${变量名_#} 。要统计author的结果数量,所以为: ${author_#} 

4、实现数据库的查询-多值引用

1)查询结果存在多个字段时,值怎么引用

2)引用方法

说明:
①引用方法一样,${变量名_数字},如:${author_1} ,${fid_1}
多个变量之间,用英文逗号 分隔

3)查询结果

说明:
①引用的是第二行的,第一列的第二个值和第2列的第一个值;
②打印结果与数据库查询结果一致;

 Python自动化测试学习交流群:全套自动化测试面试简历学习资料获取点击链接加入群聊【python自动化测试交流】:http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=DhOSZDNS-qzT5QKbFQMsfJ7DsrFfKpOF&authKey=eBt%2BF%2FBK81lVLcsLKaFqnvDAVA8IdNsGC7J0YV73w8V%2FJpdbby66r7vJ1rsPIifg&noverify=0&group_code=198408628

总结:

感谢每一个认真阅读我文章的人!!!

我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片免费领取,千万不要错过哦。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/624675.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Selenium Python教程第5章

5. 等待页面加载完成(Waits) 现在的大多数的Web应用程序是使用AJAX技术。当一个页面被加载到浏览器时,该页面内的元素可以在不同的时间点被加载。这使得定位元素变得困难。如果元素不再页面之中,会抛出 ElementNotVisibleException 异常。 使用 waits功能…

蓝桥杯单片机定时器不够用?PCA大力助你测距超声波!

在国赛的练习中遇到了定时器不够用的问题,也在网上有查阅到许多蓝桥杯单片机的用PCA定时器测距超声波的例子,但在移植实践运用了几个人的代码后总是各种各样的的问题不好用,因此深感有必要自己好好研究下,终于在一番摸爬中写出了用…

Shapr3d建模制图软件大学生教育优惠免费1年申请教程

前言介绍 shapr3d是iOS系统上一款专业的3D建模App,目前已经有window版本,主要搭配iPad Pro与Apple Pencil使用,它的特点是易学、方便与专业。我们可以使用它可以在几分钟内就可以把草图上的想法变成设计图。 从工程项目到珠宝设计&#xff…

ADAudit Plus:保护企业信息安全的强大内部审计解决方案

内部安全审计在现代企业中扮演着至关重要的角色。它是确保组织网络和系统安全的关键步骤,帮助企业发现和解决潜在的安全风险和漏洞。在这个信息技术高度发达的时代,保护企业的敏感数据和防范内部和外部威胁变得尤为重要。 内部安全审计 ADAudit Plus是一…

Windows本地账号数据迁移工具,可迁移本地账号数据到域账号,包括配置文件,桌面文件,浏览器收藏,聊天记录等。

Transwiz可以很容易地将您的个人数据和设置转移到新计算机: 用于备份和恢复用户配置文件的简单向导界面 下载链接 链接:https://pan.baidu.com/s/1LWmplUgHYg9ut3QLMnFslg?pwd=ogpx 提取码:ogpx 以下为Transwiz工具的使用教程实录: 创建一台虚拟机,我在上面简单模拟…

基于STL的 演讲比赛流程管理系统

目录 一、演讲比赛程序要求 1、比赛规则 2、程序功能 二、创建管理类 三、菜单功能 四、退出功能 五、演讲比赛功能 1、功能分析 2、创建选手类 3、进行比赛 4、保存分数 六、查看比赛记录 1、读取记录分数 2、查看记录功能 3、bug解决 七、清空功能 一、演讲比赛…

【Linux】信号(上)

文章目录 📕 信号入门生活角度的信号技术角度的信号 📕 信号产生认识 signal 函数键盘产生信号通过系统调用产生信号软件条件产生信号硬件异常产生信号 📕 核心转储📕 信号保存信号集函数 📕 信号处理用户态与内核态处…

如何通过桥接模式重构代码?

文章目录 什么是桥接模式?UML结构图通用代码实现适用场景案例场景分析⽤⼀坨坨代码实现桥接模式重构代码代码实现⽀付类型桥接抽象类⽀付类型的实现定义⽀付模式接⼝测试 总结 同类的业务、同样的功能,怎么就你能写出来那么多if else。 很多时候你写出来…

【Web服务器】Tomcat的部署

文章目录 前言一、Tomcat 的概念1. Tomcat 核心组件1.1 什么是 servlet1.2 什么是 JSP 2. Tomcat 功能组件结构2.1 Container 结构分析 3. Tomcat 请求过程4. 配置文件4.1 安装目录4.2 conf 子目录 二、Tomcat 服务部署1. 下载并安装 JDK1.1 关闭防火墙,将安装 Tomc…

Milvus Lite 已交卷!轻量版 Milvus,主打就是一个轻便、无负担

想要体验世界上最快的向量数据库?缺少专业的工程师团队作为支撑?Milvus 安装环境受限? 别担心,轻量版 Milvus 来啦! 在正式介绍 Milvus Lite 之前,先简单回顾一下 Milvus。Milvus 是一款开源的向量数据库&a…

logstash启动时默认连接本机节点elasticsearch问题

背景 今天在排查处理一个logstash读取kafka数据写入到hdfs的问题时候,发现在启动日志中多了个 logstash.outputs.elasticsearch 连接的地址是localhost:9200 部分日志如下: 排查过程说明 1、首先确认 logstash 启动的配置文件中的 output 配置&#x…

SonarQube Data Center Edition 10.0 Crack

使用{SonarQube}为团队和企业提供干净的代码 SonarQube Data Center Edition为开发团队提供深度集成到企业环境中的代码质量和安全解决方案;使您能够一致且可靠地部署干净的代码。 灵活性和治理:完美的企业代码质量工具 与您的企业环境深度集成 自我管理&#xff0…

【软件测试】软件测试的基本概念和开发模型

1. 前言 在进行软件测试的学习之前,我们要了解软件测试一些基本概念. 这些基本概念将帮助我们更加明确工作的目标以及软件测试到底要做什么. 2. 软件测试的基本概念 软件测试的基本概念有3个,分别是需求,测试用例和BUG. 2.1 需求 这里的需求还可以分为 用户需求和软件需求,用户…

【博客646】将消息队列放在Prometheus前以提高可靠性并不总是“好主意“

将队列放在Prometheus前以提高可靠性并不总是"好主意" 为了防止突发流量,而在prometheus前加上消息队列以达到削峰填谷的目的 架构如下: 应用程序将指标推送到某种形式的队列(通常是 Kafka),暴露器二进制…

超详细IDEA创建Maven项目

文章目录 一、Maven概述二、创建Maven项目三、Maven项目简单介绍3.1 标准化的项目结构3.2 标准化的构建流程3.3 方便的依赖管理 一、Maven概述 Maven是一个专门用于管理和构建Java项目的工具。我们之所以要使用Maven,是因为Maven可以为我们提供一套标准化的项目结构…

Python单元测试框架《python 自动化框架 pytest》

​ 编辑切换为居中 添加图片注释,不超过 140 字(可选) Pytest 简介 pytest 是python 的一种单元测试框架,不python 自带的unittest 测试框架类似,但是比 unittest 框架使用起来更简洁,效率更高。根据pyt…

智警杯半决赛知识点

hive: 启动hadoop 启动本地连接,连接外网 主机就是外网IP 1.修改云主机host文件,添加内网ip,对应映射名为hadoop000,实现云主机自身使用root用户ssh访问hadoop000免密登录 改host文件 vim/etc/hosts 比赛时会提…

【论文阅读】(2023.05.10-2023.06.03)论文阅读简单记录和汇总

(2023.05.10-2023.06.08)论文阅读简单记录和汇总 2023/05/10:今天状态,复阳大残,下午淋了点雨吹了点风,直接躺了四个小时还是头晕- -应该是阳了没跑了。 2023/06/03:前两周出差复阳,这两周调整作息把自己又…

第十三届蓝桥杯c++b组国赛题解(还在持续更新中...)

第十三届蓝桥杯Cb组国赛真题pdf自取 试题A:2022 解题思路: 有2022个物品,它们的编号分别是1到2022,它们的价值分别等于它们的编号。也就是说,有2022种物品,物品价值等于物品编号。 从2022个物品种选取10个…

虹科案例 | 虹科Dimetix激光测距传感器可实现无接触式监测采矿设备健康状况!

Part.01 行业挑战 采矿业机器的环境条件通常非常恶劣,损坏的设备会导致生产力和利润下降。虹科虹科Dimetix激光测距传感器为采矿设备和危险区域机器的机器健康监测提供了非接触式解决方案。 采矿操作中的处理设备通常包括分离、混合和粉碎矿石的机械设备。许多重型…