动态会话 ID 不会显示在我的 JMeter 响应标头中,即使它存在于实际响应中

问题描述 投票:0回答:1

输入凭据并登录后,在实际网站的响应标头中会生成一个 SessionID 作为 Set-Cookie,但我无法在 JMeter 的调用响应中看到它。就登录成功了。当我尝试手动添加会话 ID cookie 时,效果很好。因此,场景是我在登录 (A) URL 处输入凭据,然后转到 B URL 以生成会话 ID,最后定向到主页 (C URL)。但是,在 JMeter 中,它从 B URL 重定向到 A URL,而不是 C URL。我想这可能是导致问题的原因。我检查了B URL的响应正文,但没有任何与Session ID相关的内容。响应正文只是:

` location.replace("http://A url.com/"); '

我该如何修复它?

session jmeter performance-testing session-cookies sessionid
1个回答
0
投票

根据 JMeter 项目主页

JMeter 不是浏览器,它工作在协议级别。就 Web 服务和远程服务而言,JMeter 看起来像一个浏览器(或者更确切地说,多个浏览器);然而,JMeter 并不执行浏览器支持的所有操作。 特别是,JMeter 不会执行 HTML 页面中的 Javascript。 也不会像浏览器那样渲染 HTML 页面(可以以 HTML 等形式查看响应,但任何示例中都不包含计时,并且一次仅显示一个线程中的一个样本)。

在您的回复中

location
是浏览器API的一项功能

所以你需要:

  1. 添加另一个HTTP请求采样器
  2. 使用 JSR223 PreProcessor__groovy() 函数,以便使用被测系统的 Groovy 复制 JavaScript 逻辑

或者只是硬编码重定向位置

© www.soinside.com 2019 - 2024. All rights reserved.