当前位置: 首页 > 知识库问答 >
问题:

如何使用JMeter测试脚本记录器登录HTTPS资源保存X-XSRF-TOKEN?

洪哲彦
2023-03-14

我试图在JMeter中记录一个场景,这将使我能够登录应用程序并执行一些操作,但当我试图重现记录的场景时,我被困在登录阶段。我在浏览器中设置了一个代理,设置了一个根JMeter证书,JMeter记录了一切。

在登录我是这样执行POST请求:

POSThttps://ip:port/api/logon

发布数据:
{“用户”:“文本”,“成员”:“文本”,“密码”:“文本”}

Cookie数据:
JSESSIONID=node{random}。节点{random}

但它失败,响应代码为400(错误请求)。

我相信我应该捕获X-XSRF-TOKEN并使用它以正确的方式访问会话,但我不能这样做。在此请求之前,我尝试使用JMeter的正则表达式提取器将X-XSRF-TOKEN捕获到${TOKEN}变量中。我可以在“响应头”中看到它,但仍然无法找到捕获它的方法,以便能够登录此资源。

如何使用JMeter测试脚本记录器登录HTTPS资源保存X-XSRF-TOKEN?

更新:我发现了如何使用regexp从响应头获取XSRF-TOKEN。其格式如下:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie我还使用了本文中的信息:https://www.blazemeter.com/blog/how-load-test-csrf-protected-web-sites

为了获得它,我使用JMeter的正则表达式提取器,其中:

要检查的字段:响应报头

正则表达式:set-Cookie:XSRF-TOKEN=([^;] ?)我发现JMeter的regexp解析器可能贪婪和反向。

模板:$1$

匹配号:1

默认值:NOT_FOUND

之后,我将${XSRF_TOKEN}给HTTP Header管理器中的X-XSRF-TOKEN字段,用于下一个HTTP请求,但是当我启动脚本时,它仍然不起作用,并在响应头中向我发送一个新的X-XSRF-TOKEN。

使现代化№2:

我发现jmeter没有发送在Chrome浏览器中打开开发者控制台所需的所有cookie-

名称: XSRF-TOKEN值:${XSRF_TOKEN}域: XXX路径:/安全:yes\no

不会工作,因为变量值没有赋值,它只是在cookie发送请求中显示${XSRF_TOKEN}。

共有1个答案

明正德
2023-03-14

我终于为我的问题找到了答案。它非常类似于如何在JMeter中为CSRF令牌编写正则表达式?但是我使用了正则表达式:XSRF-TOKEN=([^;]?)然后我在HTTP头中设置cookie,比如:似乎只是将它添加到HTTP cookie管理器中,比如:名称:XSRF-TOKEN值:${XSRF\u TOKEN}域:XXX路径:/安全:是\否

 类似资料:
  • 我现在正在尝试使用Apache JMeter HTTP(S)测试脚本记录器,但我有一个难题! 我在JMeter中完成了以下设置。 在此处输入图像描述 我在Firefox中配置了代理。 然后我录了一个简单的剧本。 但当我重放脚本时,它没有起作用,我得到了以下提示: 在此处输入图像描述 怎么办?请指点一下!谢谢!

  • 我用的是JMeter 5.3。我选择了模板 根据屏幕截图,测试脚本录制器显示为灰色:测试录制器 我也将证书导入了IE。证书 有人能告诉我哪里出了问题吗?谢谢!

  • 我是JMeter的新手。尝试在JMeter中记录步骤。我有以下设置。 HTTP请求默认值: 设置好这些之后,启动记录器,启动我的http://localhost:81/网页/ 还尝试了JMeter chrome扩展-Blazemeter即使不记录localhost网页actions.Any帮助非常感谢。

  • 我使用jmeter已经有一段时间了,所以我知道HTTP测试脚本记录器的设置是可以的。清除浏览器历史,运行在公共或私人模式没有帮助。重新发布jmeter代理证书也没有什么区别,删除proxyserver.jks也是一样,以前经历过这种情况,我知道几天后HTTP测试脚本记录器会再次开始工作。两个jmeter v4都发生

  • 我是Jmeter的新手,正在努力自学。我正在浏览器中设置代理设置并尝试录制脚本。但一旦我在浏览器中设置了代理,我就无法通过该浏览器访问internet。这阻止了我录制脚本? 请帮我解决这个问题。

  • 主要内容:录制登录测试,创建JMeter测试计划,添加监听器,验证输出本节试图解释使用任何公开可用的网站记录登录测试的确切步骤,该网站提供具有登录凭据的可靠登录页面。 出于测试目的,我们将使用OrangeHRM在URL- http://opensource.demo.orangehrmlive.com 下提供的公开网站来记录成功登录其网站。还将使用BlazeMeter提供的chrome扩展,通过该扩展可以在chrome中记录用户操作,然后导出测试脚本。 随后,可以在