在Jmeter中获取CSRF令牌以进行salesforce负载测试
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Jmeter中获取CSRF令牌以进行salesforce负载测试相关的知识,希望对你有一定的参考价值。
我正在尝试对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”的请求,但没有找到任何令牌作为回应。
答案
- 确保将HTTP Cookie Manager添加到您的测试计划中
- 确保检查所有响应字段,因为令牌可以是URL的一部分或作为HTTP Header
- 您不仅需要关联
ViewStateCSRF
,还需要关联所有其他动态参数
如果您在识别动态参数值的来源时遇到问题,可以尝试使用基于云的代理服务记录您的场景,它能够以“SmartJMX”模式导出记录的脚本,并自动检测和关联动态参数。有关详细信息,请参阅How to Cut Your JMeter Scripting Time by 80%文章
以上是关于在Jmeter中获取CSRF令牌以进行salesforce负载测试的主要内容,如果未能解决你的问题,请参考以下文章
在没有表格的情况下获取 Codeigniter CSRF 令牌?