如何加载测试使用ValidateAntiForgeryToken的站点?

时间:2012-02-21 13:48:50

标签: asp.net-mvc-3 csrf load-testing

我想对在ValidateAntiForgeryToken上使用HttpPost s的网站执行负载测试。但是,正如您所料,当我运行我的负载测试脚本时,我收到了500个错误,因为__RequestVerificationToken是从先前的请求中复制的,或者是空白的。两者都失败了。

有没有办法加载我在ValidateAntiForgeryToken方法上使用HttpPost属性的测试网站?

我尝试过使用StresStimulus和SmartBear的LoadComplete进行测试。

3 个答案:

答案 0 :(得分:3)

如果您正在使用fiddler和http://stresstimulus.stimulustechnology.com/(我没有使用过),我必须想象您可以先登录,然后使用该会话作为您的负载。 AntiForgeryTokens不是一次,只要cookie用于您的身份验证信息和在登录会话期间生成的防伪标记,它应该没问题。

答案 1 :(得分:1)

我和StressStimulus有同样的问题。提交到站点的某些表单失败,因为在运行记录的请求时不会更新__RequestVerificationToken。 {{自动关联}}在我的情况下不起作用。我使用正则表达式提取器来解决它。这是我在StressStimulus上发表的link

答案 2 :(得分:0)

如果没有看到您正在使用的方案的详细信息,很难确定。但是我们已经能够自动化许多这些类型的动态字段以进行负载测试(我们唯一无法绕过的是需要人工输入的那些,即验证码)。通常,您需要找到__RequestVerificationToken字段的值来自哪里 - 无论是cookie,javascript计算,隐藏表单字段等。一旦找到了,您可以提取或计算该值作为负载测试场景并将其与请求一起发送。如果我的记忆有用,我们已经解决了这个问题而没有做太多工作 - 如果你想给我们一个问题,contact us。一般来说,我们可以比您提到的任何一种解决方案更优雅地处理这些类型的问题。