jmeter初体验之操作数据库


前言

jmeter是不能直接操作数据库的,要有驱动程序而且得有足够的权限,驱动就是一个jar包(mysql-connector-java-8.0.18.jar)
一般放在jmeter安装路径的lib文件下。
一般数据库mysql和oracle用的比较多
在这里插入图片描述




jmeter数据库元件


JDBC Connection Configuration


在线程组下面添加JDBC Connection Configuration元件进行数据库的连接配置
在这里插入图片描述

jdbc:mysql://localhost:3306/test(test是自己创建的数据库的名字)
在这里插入图片描述

JDBC Request

创建一个JDBC Request(jdbc 请求)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述



连接数据库


驱动可以放在lib目录下也可以不放在lib目录在,在测试计划中自己导入驱动,放在lib目录下需要重新启动一次jmeter,否则会报错。
在这里插入图片描述

添加线程组、添加JDBC Connection Configuration、添加JDBC Request
在JDBC Request写入简单的查询语句来检测有没有连接成功。
添加查看结果树查看结果
在这里插入图片描述
如果查询出现报时区错误:Cannot create PoolableConnectionFactory (The server time zone value ‘�й���׼ʱ��’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.)
就在JDBC Connection Configuration的Database URL 自己写的URL后面加上?serverTimezone=UTC就可以了
在这里插入图片描述
再次执行就不会报时区错误,可以在结果树中看到查询结果,这样说明我们连接数据库成功
在这里插入图片描述



jmeter进行数据库insert、delete、updata、select操作


前面成功连接了数据库,接下来进行对数据的增删改操作

insert


单个insert操作

数据库里有一个class表,现在我们往里面插入数据

在这里插入图片描述

在JDBC Request中写入插入数据的sql语句,修改类型为 update statement

执行后查看数据库的表和结果树
在这里插入图片描述
多个insert操作

选择prepared update statement ,写入多条插入语句,已经插入的数据不能再插入。
在这里插入图片描述
直接执行还是会报错,我们需要在JDBC Connection Configuration的Database URL 自己写的URL后面加上&allowMultiQueries=true允许多条语句插入
?后面加参数,不同的参数用&符号拼接起来
在这里插入图片描述

执行结果查看结果树和数据库表格
在这里插入图片描述
insert参数化以及批量操作

利用函数助手生成自己想要的范围内的随机数进行参数化,另外也可以用csv去做参数化,在文件中获取数据
在这里插入图片描述

选择update statement,修改SQL语句
在这里插入图片描述

设置好参数化之后就可以设设置线程数来进行批量的参数化的insert操作
出现错误是因为我们的cno是随机生成的,但是cno是主键是唯一的,不能有一样的,最后一个生成了之前生成的数据,所以报错了
在这里插入图片描述

delete


与前面的步骤一样,添加线程组、添加JDBC Connection Configuration、添加JDBC Request、添加了查看结果树。
在JDBC Request中输入delete的SQL语句
在这里插入图片描述

执行后查看结果树和数据库的表
在这里插入图片描述

批量delete操作就不能利用随机函数,因为要删除的是确定的数据这是就利用csv来进行参数化批量删除
也可以利用SQL语句来进行批量删除,这就是SQL语句的熟练程度。
例如:delete from course where cname like “c%”,删除cname是以c开头的
或者利用between,< ,where 条件 等等进行批量删除

update


添加线程组、添加JDBC Connection Configuration、添加JDBC Request、添加了查看结果树。
在JDBC Request中输入update的SQL语句
在这里插入图片描述

有中文的话在JDBC Connection Configuration中的URL后面加入characterEncoding=UTF-8(跟自己的数据库的编码设置一样)
在这里插入图片描述

执行后查看结果
在这里插入图片描述

批量update也是可以利用csv,也可以使用SQL语句。修改成随机的内容的话也可以借助函数助手
但是利用函数助手所有的数据会全部改成一个随机的值,因为执行一条语句,要全部随机,就要利用csv和线程数设置

select


添加线程组、添加JDBC Connection Configuration、添加JDBC Request、添加了查看结果树。
在JDBC Request中输入select的SQL语句
在这里插入图片描述

执行操作查看结果树对比表格
在这里插入图片描述
select操作参数化
查询的数据必须是存在的,采用csv的方式来进行参数化
创建一个txt文档,写入要查询信息的相关数据
在这里插入图片描述

添加csv,选择自己创建的文件,设置变量
在这里插入图片描述

在JDBC Request的SQL语句中引用变量
在这里插入图片描述

设置线程组执行程序查看结果,显示几个单个的结果。
在这里插入图片描述
select多条语句查询

在JDBC Request中修改SQL语句,在JDBC Connection Configuration的Database URL 自己写的URL后面加上&allowMultiQueries=true
在这里插入图片描述

使用prepared select statement只会显示第一条查询语句的结果,改用callable statement会显示所有的结果
在这里插入图片描述

利用JDBC Request参数化
在这里插入图片描述
在这里插入图片描述

保存查询结果,一遍后面需要引用的时候来引用,也可以多个参数进行保存,相对应的就要写多个变量名,结合foreach等来引用
在这里插入图片描述

也可以把数据放在下面的result variable name里面来保存结果集
拿数据的方法就是 value=vars.getObject(“cname”).get(0).get(“cname”);(获得result里面的cname的第一个数据),写在Beanshell sampler中
拿到数据后就是把数据变成jmeter变量 vars.put(“cname”,value);之后引用${cname}
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值