2017-08-05 98 views
0

我正在使用JMeter对API进行负载测试。为此,我调用一个oauth链接,该链接返回头文件中的代码,供我进一步测试。但是链接重定向到另一个链接,并且在返回状态码302的响应时我无法捕获响应标头的值。我怎样才能做到这一点。JMeter在状态码302重定向之前回应标题值

回答

0

如果你的情况是这样的一个:

JMeter Redirect

您仍然可以通过修改定期提取后的样品结果的动态值表达提取范围

根据documentation

适用于:

这对于具有采样使用可以生成子采样,例如具有嵌入式资源的HTTP采样器,邮件阅读器或由事务控制器生成的示例。

  • 主样品仅 - 仅适用于主样品

  • 子样只 - 仅适用于子样本

  • 主样品和子样品 - 适用于两者。

  • JMeter的可变 - 断言是要被施加到的命名变量

内容默认情况下正则表达式提取正在调查Main sample only,在上面的例子中它是HTTP Request,如果您要查找的数据存储在其中一个子样本中,这足以将Regular Expression Extractor的范围更改为查看子结果以及:

JMeter RegEx Sub Results

+0

有一个小问题。它只能交替使用。它返回一次状态码302,下一次返回状态码200,下次再次返回302。我很困惑 –

0

你有2种选择:

  1. 不允许HTTP请求重定向。只需取消选中在HTTP取样器“进行重定向”复选框:

    enter image description here

    这样就可以正常处理此请求。当然,缺点是你需要添加第二个请求,它会将你带到一个通常自动重定向的链接。

  2. 大多数后处理器允许您从主要样本或子样本或两者中提取值。因此,按照之前的重定向,但更改后处理器以从子示例中提取值。例如正则表达式提取:

    enter image description here

+0

感谢您指出这一点。我选择了正则表达式提取器中的主要样本和子样本。但是有一个小问题。它只能交替使用。它返回状态码302一次,并且下一次返回状态码200。它可能是一个缓存问题? –