在Jmeter中获取CSRF令牌以进行salesforce负载测试

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

我正在尝试对salesforce.com进行负载测试。我正在通过test.salesforce.com进行日志记录,这会将我重定向到控制台URL。现在,后续的帖子请求接受以下帖子参数。

  • ViewStateCSRF
  • ViewStateMAC
  • visualforce.ViewState

但是此帖子请求失败并显示“无效会话”错误消息。我猜这是因为CSRF令牌。我试图提取(在Jmeter中的后处理器)CSRF令牌,但我无法在先前请求的响应/ cookie中的任何地方找到此令牌。在其中一个HTML响应中,我可以找到一些CSRF令牌(例如:runApexCsrfToken,consoleAjaxCsrfToken等)。我尝试了所有这些但没有结果。

总结一下我的问题:我需要在后登录请求中传递csrf令牌,但我无法在之前的响应中找到此令牌。

你能帮帮我吗?

PS:我在登录后尝试了“https://c.salesforce.com/libs/granite/csrf/token.json”的请求,但没有找到任何令牌作为回应。

performance jmeter salesforce csrf load-testing
1个回答
1
投票
  1. 确保将HTTP Cookie Manager添加到您的测试计划中
  2. 确保检查所有响应字段,因为令牌可以是URL的一部分或作为HTTP Header
  3. 您不仅需要关联ViewStateCSRF,还需要关联所有其他动态参数

如果您在识别动态参数值的来源时遇到问题,可以尝试使用基于云的代理服务记录您的场景,它能够以“SmartJMX”模式导出记录的脚本,并自动检测和关联动态参数。有关详细信息,请参阅How to Cut Your JMeter Scripting Time by 80%文章

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