由于URL中的csrf令牌,JMeter中记录的脚本不会发出订单

时间:2015-12-14 22:28:55

标签: url web jmeter token csrf

使用Jmeter GUI,我记录了测试场景(下订单)并且脚本成功运行。但是,当我重播测试脚本时,它不像记录的那样起作用,它没有下订单。 查询开发人员后,发现每个项目都选中后,服务器生成一个CSRF令牌,并在添加项目时将令牌放入URL路径(如:/ cart / add / type / product_id / 7245985 / _csrf_token / b46c0aec2e5891808ec42141b1956943204ae8f8)到购物车。这些都记录在脚本中。带有令牌的此路径用于将项目添加到购物车。

我的问题是如何在URL的路径中连接它时如何测试这个动态令牌?

感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

如果您尚未将树视图侦听器添加到测试计划中,请立即添加。您可以使用它来查看请求的详细信息。响应。如果请求成功,JMeter会认为请求是成功的。服务器端的响应。响应是否在功能上有效并不重要。因此,为了确保JMeter发送有效参数并接收预期响应,您必须在树视图侦听器中检查请求/响应的详细信息。

您还可以向请求添加响应声明,以便JMeter自身验证它是否获得了预期的响应。

重要提示:

  • 仅使用TreeView侦听器进行调试。在实际负载测试中,请将其禁用,因为它会消耗大量内存。
  • 不要过度使用响应断言,因为它们也消耗大量内存。
  • JMeter不是基于浏览器的工具。它只处理后端请求。因此预计会非常快。所以没有错。你应该删除不必要的计时器,因为它没有任何错误。
  • 如果您的请求涉及某种登录授权,请查看此问题以获取更多详细信息Load testing using jmeter with basic authentication

答案 1 :(得分:0)

录制不保证工作脚本,它只为您提供“骨架”,通常需要执行一些关联(从先前的响应中提取必需的动态参数并将其添加到下一个请求的过程)。

参考资料: