首页 > 数据库 >jmeter--连接mysql数据库

jmeter--连接mysql数据库

时间:2023-05-31 23:11:11浏览次数:47  
标签:-- 数据库 mysql 参数 sql jmeter 连接

本文讲解一下,如果用jmeter 连接数据库。一般平常工作中使用jmeter 连接数据库的作用主要包括:

  1. 本身对数据库进行测试(功能、性能测试)时会需要使用jmeter连接数据库
  2. 功能测试时,测试出来的结果需要和数据库中的数据进行对比是否正确一致。这时候可以通过jmeter连接数据查询出来数据,然后测试时的结果进行比较。(不过这种情况,也可以通过其他的数据库连接工具,例如dbeaver之类的)
  3. 项目使用jmeter做自动化测试时,部分自动化用例中接口传递的参数进行了参数化设计,而参数值保存在数据库中,这样的话,可以从数据库中读取出来数据,然后将读取的数据赋值给接口中的变量来跑自动化用例。

本文介绍的是通过jmeter连接mysql数据库(也可以连接pg、oracle等数据库,这边只介绍mysql),连接mysql用到了三个东西:驱动、jmeter中的数据库连接池配置组件、jmeter中的jdbc request 组件。以下将具体介绍:

1、数据库驱动

连接不同的数据库,就需要不同数据库的驱动,mysql驱动的下载地址:

https://dev.mysql.com/downloads/file/?id=518709

直接下载即可,下载后对压缩包解压,需要将解压包中的mysql-connector-j-8.0.33.jar导入到jmeter,如下图所示,在Test Plan的Library 中导入mysql-connector-j-8.0.33.jar 这个jar包即可

2、在Test Plan下添加数据库连接池配置组件(jdbc connection configuration)并进行参数配置,参数配置如下图所示,关于数据库连接池配置组件中具体的每个参数的介绍在下文中的xmind中详细进行了讲解。

3、添加线程组,并在线程组下添加 jdbc request组件。如下图所示,参数配置如下。Jdbc request 中每个参数的具体介绍在下文中xmind中有讲解。

执行结果如下

3.1、如果你想一次提交多个sql语句时,需要设置如下:

如下图,为执行结果

3.2、如果你想对jdbc resquest中的sql语句进行参数化,则需要将query type设置为prepare select statement 或prepare update statement;并在sql语句中使用 ? 做占位符(一个sql语句中可以有多个占位符,但占位符的格式需要和parameter values 、parameter types中设置的值的个数保持一致),最后在parameter values 和 parameter types 中填写参数值和参数值的数据类型(填写多个值的时候,用分号分割)。配置如下图所示:

3.3、如果想把查询出来的结果值赋给一个变量,然后帮助后续的接口调用变量值进行请求。需要对 Variable names 或 Result variable 进行配置。

例如,查询表中的数据,并返回name、age 字段的值, 希望把name 和 age 字段的值赋给a ,b 帮助后续调用变量的值,设置如下

3.4 Limit ResultSet 可以设置返回的数据的数量,和sql语句中limit作用差不多。可以同时在sql中加limit 和 设置Limit ResultSet, 如果limit为10, 设置的Limit ResultSet为5,最后返回的是5条,如果limit为5, 设置的Limit ResultSet为10,最后返回的是依然是5条

下面的xmind 是连接数据库时用到的两个组件的参数介绍

标签:--,数据库,mysql,参数,sql,jmeter,连接
From: https://www.cnblogs.com/ccnn9/p/17447606.html

相关文章

  • bash控制台显示颜色
     #!/bin/bashfunction_info(){echo-e"\033[32m$1\033[0m"}function_warning(){echo-e"\033[33m$1\033[0m"}function_error(){echo-e"\033[31m$1\033[0m"}function_green(){ echo"\033[32m&q......
  • LocalDateTime、LocalDate、Date的相互转换
    LocalDateTime转LocalDate直接调用toLocalDate()方法LocalDateTimelocalDateTime=LocalDateTime.now();LocalDatelocalDate=localDateTime.toLocalDate();LocalDateTime转Date在LocalDateTime转Date时,需要使用到Java8的几个类ZoneId/ZoneOffset:表示时区ZonedD......
  • 简单封装一下pymysql库
      简单封装一下pymysql库my_pymysql.py#!/bin/python#-*-coding:utf-8-*-importpymysqlimportnumpydefget_connect(**kwargs):mysqldb=pymysql.connect(host=kwargs.get('host'),user=kwargs.get('user'),passw......
  • Python3 环境下使用 MySQLdb 库
    方法一:可以使用mysqlclient库安装:pipinstallmysqlclient 可能还需要下面对应的库,或者其它库#apt-getinstallmysql-dev或者#yuminstallmysql-devel使用:importMySQLdb 方法二:使用pymsql,这个需要做程序改造了......
  • Spring boot 使用 jpa 动态插入@DynamicInsert和动态更新@DynamicUpdate(动态指部分或
    @DynamicInsert属性:设置为true,设置为true,表示insert对象的时候,生成动态的insert语句,如果这个字段的值是null就不会加入到insert语句当中.默认false。比如希望数据库插入日期或时间戳字段时,在对象字段为空的情况下,表字段能自动填写当前的sysdate。@DynamicUpdate属性:设置为tru......
  • mongodb安装
    一、YUM安装MongoDB1、添加一个yum源创建一个/etc/yum.repos.d/mongodb-org-5.0.repo文件[mongodb-org-5.0]name=MongoDBRepositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/gpgcheck=1enabled=1gpgkey=https://www.mongodb.or......
  • activemq安装教程
    https://activemq.apache.org/ 官网下载对应版本:apache-activemq-5.16.3-bin.tar.gztar-xvzfapache-activemq-5.16.3-bin.tar.gzmvapache-activemq-5.16.3/usr/localcdconf/vimactivemq.xml在broker标签上添加schedulerSupport="true"属性。如下:<brokerxmlns="h......
  • parted命令磁盘分区
    最近新增了一块硬盘3T的,挂入系统fdisk/dev/sdb然后按照很多年以前略微记忆,n新增,p主分区,然后default开头和结尾,然后s保存后退出,使用mkfs.xfs/dev/sdb1 最后使用ls-l/dev/disk/by-uuid/  找到对应uuid然后使用vim在/etc/fstab中添加如下配置UUID=8b2a11114-d30c-4b3f-a534......
  • jmeter 自定义函数和Sampler(采集器)
    第一个插件自定义函数(Function)代码具体如下,生成jar放到lib\ext目录下即可。/*代码路径中,一定要放在functions目录中,否则jmeter会识别自定义函数失败*/packageinterfacePerformance.functions;importjava.util.Collection;importjava.util.LinkedList;importjav......
  • linux - passwd结构体
     #include<stdio.h>#include<pwd.h>#include<unistd.h>#include<sys/types.h>intmain(){structpasswd*tmp=NULL;tmp=getpwuid(geteuid());printf("username:%s\n",tmp->pw_name);printf("userp......