【问题标题】:Capture the HTTP Header捕获 HTTP 标头
【发布时间】:2023-03-12 02:35:02
【问题描述】:

我正在尝试按照此处所述进行测试: JMeter Alter HTTP Headers During Test

从上面引用:

我正在尝试使用 JMeter 测试 HTTP 服务。 HTTP 服务需要通过简单的不记名令牌机制进行身份验证。我正在尝试如下进行:

  • POST 身份验证请求将令牌存储为变量
  • 将授权 HTTP 标头设置为存储变量
  • 请求受保护的资源
  • 评估性能

当 POST 发生时,我无法捕获不记名令牌。它是一个标题。

我尝试了 Dmitri 在该问题上提供的解决方案,或者正如 Bennet 尝试使用 RegEx Extractor 和 HTTPS Manager 一样。

我认为我正在做一些愚蠢的事情,无法提取令牌。任何想法如何提取令牌?

【问题讨论】:

    标签: http-headers jmeter blazemeter


    【解决方案1】:

    很可能您的Regular Expression Extractor 配置不正确,默认情况下:

    • 使用响应 body 作为来源,因此您需要将其切换为查看响应标头(红色矩形)
    • 仅在主示例中查找,如果您的标头在重定向后设置,则不会被处理(琥珀色矩形)

      示例配置:

    您可以使用Debug Sampler and View Results Tree listener combination 仔细检查${bearer} 变量值。

    【讨论】:

    • 尝试了所有选项,仍然无法提取令牌。调试时在任何地方都看不到不记名令牌。我确信我错过了一些非常简单的事情。
    • 使用以下屏幕截图更新您的问题:在“示例结果”选项卡上查看结果树侦听器,显示您要提取的“承载”标头值。 2.正则表达式提取器。完成后通过评论告诉我,以便我看一下。
    • 正是我所缺少的。我没有看到不记名标头。但是由于某种原因,当我执行“POST”方法时,它期望不记名令牌作为请求标头。总结应用程序:用户输入登录凭据>生成承载令牌>此承载令牌可在整个测试过程中使用,然后过期。我在标头(Jmeter)中看不到不记名令牌。但是,如果我在提琴手或萤火虫中运行它,我可以将其视为响应标头。不完全确定为什么它在 Jmeter 和 Firebug 的网络中表现不同。
    • 在这种情况下,我相信How to Run Performance Tests on OAuth Secured Apps with JMeter 文章会有所帮助
    • 从您之前对其他票证的建议中尝试了这一点。它不起作用。我对这个问题感到非常惊讶。我确信我错过了一些非常小的东西。它不可能这么难。
    猜你喜欢
    • 1970-01-01
    • 2021-07-08
    • 2015-09-28
    • 2013-06-11
    • 2010-10-29
    • 2016-10-12
    • 2015-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多