阶段七第二章连接数据库,逻辑控制器,定时器,分布式

本文详细介绍了如何在JMeter中直连数据库,包括添加JDBCRequest、配置连接池和SQL语句,以及使用逻辑控制器(如If、Loop和ForEach)控制脚本执行顺序。还涵盖了定时器(同步和常数吞吐量)的应用以及分布式测试的配置与注意事项。
摘要由CSDN通过智能技术生成

一级目录jmeter直连数据库

准备工作
1.启动数据库
2.加载mysql的JDBC驱动
· 方法1:在测试计划下方的位置,点击浏览添加JDBC的jar包
· 方法2:将JDBC的jar拷贝到lib目录,并重启jmeter
3.JDBC连接池配置参数:
在这里插入图片描述
编写JDBC脚本步骤:(搜索指定商品,在返回结果中检查是否包含指定商品的ID的URL)

1、添加JDBC Requesti请求
· JDBC连接池名称:必须与"JDBC连接池"中的连接名一致
· 要执行的sq语句
· Variable Name中:写明要保存的数据的参数名
在这里插入图片描述
2、添加HTTP请求一一搜索请求
· 参数为中文时,将参数写到下方参数位置,并勾选上“编码”

在这里插入图片描述
3、添加响应断言:
· 在响应断言中配置要检查的数据内容。
· 注意:应用JDBC Requesti查询出的结果时,需要加上索引(因为JDBC查询的结果保存为一个列表)
在这里插入图片描述

二级目录jmeter逻辑控制器

控制Jmeter脚本的执行顺序。

1.常用的逻辑控制器
· 如果(if)控制器
· 循环控制器
· ForEach控制器

2.如果(if)控制器
控制器用来控制它下面的测试元素是否运行
添加方式:测试计划>线程组->(右键添加)逻辑控制器>如果(if)控制器

2.1案例
1.使用’用户定义的变量’定义一个变量name,name的值可以是baidu’或itcast’
2.根据name的变量值实现对应网站的访问

第一种配置方法
在这里插入图片描述
第二种配置方法:
勾选上Interpret Condition as Variable Expression,判断条件需用使用jex13函数。
(使用这个函数来进行判定时,Jmeter自身的执行效果要高一些)
在这里插入图片描述
3.循环控制器:
控制子节点下的HTTP请求的执行次数
在这里插入图片描述
循环控制器与线程组中的循环次数的对比:
· 循环控制器只控制其子节点下的HTTP请求,线程组对所有的请求都有效
· 假如线程组循环次数为2,循环控制器次数为3,则循环控制器下的请求执行次数为:2✖3

4.ForEach控制器
与用户定义的变量或者正则表达式提取器配合使用,循环读取用户定义的变量或者正则表达式结果中的所有数据。

配置参数:
在这里插入图片描述
4.1与用户定义的变量配合使用
1、添加用户定义的变量:
· 参数名:固定前缀+连续的数字后缀
在这里插入图片描述
2、添加ForEach控制,并配置
在这里插入图片描述
3、在ForEach控制器下方添加HTTP请求,并引用ForEāch读取的数据${word}
在这里插入图片描述

4、添加查看结果树

与正则表达式配合使用:
1、添加HTTP请求一一itcast首页
2、添加正则表达式提取器,提取出itcast响应中所有的地址相关的数据,并保存为参数ārea(列表数据)
在这里插入图片描述
3、添加ForEach控制器,循环提取area列表中的每一个地址信息
在这里插入图片描述
4、在ForEach控制器下添加一个HTTP请求一一百度,引用ForEach控制器中定义的变量$(word},作为参数
5、添加查看结果树

三级目录jmeter定时器

1.同步定时器:
又叫做集合点(LR的叫法),保证大量的请求在同一时间进行发送,形成绝对的并发。

实现原因:设置同步定时器,有请求要发出时,同步定时器会暂缓请求发送,一直到积攒的请求数达到要的数量时,将所有的请求同步发送出去,形成绝对的并发(更大的压力负载)

添加方式:
测试计划->线程组->监听器 聚合报告-> HTTP请求->(右键添加)定时器->Synchronizing Timer
在这里插入图片描述
2.常数吞吐量定时器
设置jmeter以指定的吞吐量速度往服务器发送HTTP请求。
在这里插入图片描述
注意:常数吞吐量定时器只是帮忙达到性能测试的负载(压力)要求,本身不代表性能有bug/无bug,对于bug的分析需要通过响应时间来判断

四级目录jmeter分布式

1.应用场景:
当性能测试时需要模拟的负载(用户/请求)太高,一台测试机无法模拟,需要使用多台测试机一起来模拟达到要求的负载量,这就叫分布式

原理:
· 分布式测试时语常由1台控制机和N台代理机
· 控制机:给代理发送任务,接收代理机返回的数据统计,做汇总展示
· 代理机:往服务器发送HTTP请求,并接收服务器的响应,并对响应进行处理。
在这里插入图片描述
2.分布式相关注意事项:
· 测试机上所有的防火墙关闭
· 所有的控制机、代理机、被测系统都在同一个子网中
· 所有的控制机和代理机上安装的meter和DK的版本必须完全一样。
· 要关闭meter中的RMSL开关

在这里插入图片描述
3.分布式配置与运行:
· 配置:
。代理机(meter.property)
server_.port:代理机启动的端口,不冲突即可
server.rmi.ssl.disable=true(关闭)

。控制机
· remote_.hosts:代理机的lP:port,
如果有多个代理机用" ,"分隔。
· server.rmi.ssl.disable=true(关闭)

· 运行:
。代理机
进入bin目录下,执行jmeter_.server.bat
。控制机:
· 进入bin目录下,执行jmeter…bat
· 启动时,点击“运行”–“远程启动所有”控制代理机的运行

在这里插入图片描述

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值