JMeter Web登录测试返回401未授权

时间:2013-01-09 18:39:01

标签: jmeter

我正在尝试使用JMeter加载测试在本地VM上运行的Web登录表单,但我一直收到401 Unauthorized响应。我设置了一个JMeter代理来记录步骤,然后添加了HTTP Cookie管理器,但它仍然无法进行身份验证。

HTTP Request

Request Redirect

Request 2nd Redirect

This page should be the user's profile page after successful login

使用Cookie管理器并将_auth_session添加到请求中,但登录仍然失败。初始请求是传递用户名/密码信息的POST方法。我似乎无法弄清楚为什么它实际上没有进行身份验证。当我记录步骤时它工作正常但播放失败。这似乎是一个无头的浏览器问题,因为在Selenium IDE中记录相同的步骤会完美地播放它并且没有401响应。任何想法将不胜感激!

运行Windows 7/64

2 个答案:

答案 0 :(得分:0)

如果不看脚本,真的很难告诉你什么是错的。所以我会猜测并给你一些指示。

  1. 您可能希望将cookie管理器保留在块的其余部分之上。这就是Thread控制器(,即线程组级别)之下。这可能不是问题,因为我可以在失败的步骤中看到_auth_session cookie,但这仍然是一个很好的做法。

  2. 如果您认为这可能是因为服务器未识别浏览器,您可以使用标头管理器并通过它发送浏览器(user_agent)信息。见example

  3. 尝试摆弄Cookie管理器中的Cookie政策和实施选项。

  4. 我希望这会有所帮助。

答案 1 :(得分:0)

我终于找到了问题的答案,所以如果其他人遇到同样的困难,请查看此网站。

http://ertw.com/blog/2010/06/29/load-testing-a-rails-app-and-the-authenticity_token/

我遇到的问题是对具有隐藏的authenticity_token元素的Rails Web应用进行身份验证。需要使用正则表达式来提取动态值,然后将其包含在JMeter中的表单post。