回顾:

  • 断点(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(生成随机字符串):

点击生成直接一会调用

调用:

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

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐