2

我正在尝试使用 jmeter 加载测试 rails 应用程序,但尚未通过登录。

在 application_controller 中,我注释掉了protect_from_forgery,以便不必使用authenticity_token。

现在看起来来自 idex/主页响应的应用程序会话 id cookie 没有被 jmeter 的 http cookie 管理器保存,或者 cookie 被 jmeter cookie 管理器保存并且没有在请求中传递。

这是我在 jmeter 的帖子从 tomcat 访问日志中的样子:

192.168.247.13 [07/Jan/2011:11:01:27 -0500] r:200 d:58 'POST /dash/account/login HTTP/1.1' 2088

这是从浏览器 (Chrome) 登录的帖子的样子:

192.168.247.13 [07/Jan/2011:10:56:51 -0500] r:200 d:112 'POST /dash/account/login HTTP/1.1' 16

出于某种原因,来自浏览器的帖子可以正常工作并重定向到下一页。JMeter 的帖子返回视图 (login.erb) 而不是重定向。cookie 管理器未保存会话 cookie 或会话 cookie 未在 jmeter 的请求中发送的另一个指示。

有人用 jmeter 和 rails 应用程序遇到过这个问题吗?有什么建议么?

提前致谢。

4

3 回答 3

3

问题不在于 cookie 管理器。Cookie 管理器工作得很好。相反,我需要添加一个标头管理器并添加以下标头和值:

标头:X-Requested-With 值:XMLHttpRequest

于 2011-01-07T21:22:39.137 回答
2

您需要从登录页面中提取authentity_token 并将其放入您的表单帖子中。

此处的说明:http: //ertw.com/blog/2010/06/29/load-testing-a-rails-app-and-the-authenticity_token/

于 2013-01-25T18:55:09.523 回答
0

在您的登录页面上,您是否启用了“重定向”?您还需要对要访问的每个页面都有一个 JMeter 请求。

因此,您的脚本需要如下所示:

  • 饼干管理器
  • 线程组 -- POST 登录页面 -- GET 登录页面 -- 其他页面
于 2011-01-07T20:14:30.707 回答