Jmeter进阶(笔记)
回顾:
断点(Breakpoint)
- 作用:中断程序的正常执行流程,让程序在指定位置暂停
- 使用场景:调试阶段,帮助开发者逐步检查程序状态
- 工作方式:在代码特定特定行设置断点,程序执行到此时会暂停,允许开发者查看变量值、调用栈等
- 特点:
- 仅在调试模式下生效
- 不影响程序的实际逻辑
- 主要用于开发者手动排查问题
- 示例:在 IDE 中点击代码行号旁设置的标记
断言(Assertion)
- 作用:验证程序中的假设是否成立,确保代码的正确性
- 使用场景:开发和测试阶段,用于检查程序的内部一致性
- 工作方式:通过
assert语句定义一个必须为真的条件,如果条件为假则触发错误 - 特点:
- 可以在开发环境启用,生产环境禁用
- 失败时会终止程序执行并抛出异常
- 用于捕获逻辑错误和不符合预期的状态
二、响应断言

先把要请求的路径和参数先写好

此时的话登录没有传token,报错信息:

这里去断言它的响应信息里面的"token_empty"。增加响应断言,根据响应内容进行设置,Main sample only-响应文本-默认(如果是想要状态码200,500,则设置响应代码不要响应文本)。在这里测试模式下我设置是‘token_empty’(根据响应的信息),作为响应断言的判断依据,所以该请求的响应断言会成功。

断言成功不会返回什么断言成功之类的信息。

如果设置成跟响应信息想要的不一样,如“success”,断言判断失败


三、断言持续时间
1.新增断言持续时间,在这里我设置为100,表示响应时间不超过100ms成功,超过100ms失败,一般用来做性能测试


四、参数化
a.同一个线程组使用同一个jwt的token,然后根据这个token传递到下游(正则表达式)(下游拿到这个token去获取个人信息以及可访问的接口)

header可以用postman查

不然可能报

http这边

正则表达式提取器

然后下游根据${}取

点击运行,查看下游结果树

补充:也可以用JSON提取器,根据上游JSON的层级关系拿到token,效果一样

a.不同线程组使用同一个jwt的token,然后根据这个token传递到下游(正则表达式)(下游拿到这个token去获取个人信息以及可访问的接口)(待补充)
五、数据库参数化
先准备好Jar包一会需要在里面导入

配置


然后配置JDBC请求

根据需求写sql(单个参数)

然后在请求登录的接口参数那边拿变量取值
单个参数:
jmeter会为值自动排号:
变量名_#,查询出来的结果个数(比如就是一个用户可能有两条记录,返回的电话号码个数为两个)
变量名_1,第一个值(取第一个电话号码)
变量名_2,第二个值(取第二个号码),以此类推
![]()

多个参数:这里我查出三条手机号

新增配置



点击运行,for循环三次

多列多参数:



计数器:

请求参数:${__V()}

结果:

层级还是这样:

六、Jmeter函数获取参数值
__Random(生成随机数),__RandomDate(生成随机日期),__RandomString(生成随机字符串):


点击生成直接一会调用

调用:

结果:(这种可以用于手机注册)

