【问题标题】:In Jmeter ,Header manager don't add the jwt authorization token for testing Spring boot Rest API's在 Jmeter 中,标头管理器不添加用于测试 Spring Boot Rest API 的 jwt 授权令牌
【发布时间】:2019-11-30 12:47:20
【问题描述】:

我已经从用户登录控制器 Rest API 中提取了 JWT 令牌(从 swagger 中获取端点),我的测试计划看起来像这样

正如您在登录请求中的图像中看到的那样,它采用 Breakdown Configuration 的标头,并且它不会将授权令牌值作为 Bearer ${token} 中的 JSON 对象传递,尽管我已经在 J​​SON 提取器和调试中提取了它采样器显示它。

我也使用过唯一的控制器,但它并没有解决问题。请帮助嵌套标题管理器以及如何正确使用它。即使我在我的 GETALL Bd-config 请求下使用了 Bean Shell 处理器并传递了命令:

import org.apache.jmeter.protocol.http.control.Header;

sampler.getHeaderManager().add(new Header("Authorization","Bearer " + vars.get("token"))); 

但这并不能解决问题。请指导。我的 jwt 令牌过期时间是 1 小时

【问题讨论】:

  • 你能显示“请求正文”吗

标签: jmeter performance-testing load-testing web-api-testing jwt-auth


【解决方案1】:

您的测试配置错误,JMeter 的Post-Processors 服从JMeter Scoping Rules 因此您的Extract token 后处理器被依次应用于:

  1. 登录
  2. 调试采样器 -(ka-boom,这里的标记被空白值替换)
  3. GetAll bd-config

解决方案是将这些Extract idExtract token 作为Login 请求的子级

这样,令牌和 id 将从 Login 中提取并保留到下一次迭代,不会被 Debug Sampler 覆盖

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-10
    • 2021-07-22
    • 2021-06-20
    • 2021-09-04
    • 2019-07-16
    • 1970-01-01
    • 2016-03-08
    • 2019-05-23
    相关资源
    最近更新 更多