Ash*_*sta 4 cookies ruby-on-rails load-testing httperf ruby-on-rails-3.2
我正在尝试使用httperf加载测试我的Rails(3.2.13)应用程序.它对于不需要cookie的页面非常有效.但是,我无法使它适用于需要cookie的页面.我正在使用Gregg Pollack的httperf(https://github.com/Gregg/httperf_big_cookies),因为正式版不支持大cookie.
这是我使用的命令:
httperf --session-cookie --wsesslog=1,5,path.txt --rate=1 --timeout=15 --server=localhost --port=3000
而且,这是path.txt文件:
/log_in
/sessions method=POST contents='utf8=?&remember_me=1&commit=Login&email=john@widgetsco.com&password=password'
Run Code Online (Sandbox Code Playgroud)
该cookies方法始终返回nil控制器内部.
所以,请建议我如何克服问题或更好的工具(基于控制台)来测试铁路应用的负载.
您可能在使用rails附带的CSRF验证时遇到了麻烦.检查您的日志,如果您看到以下行,那么原因如下:
WARNING: Can't verify CSRF token authenticity
Run Code Online (Sandbox Code Playgroud)
解决方法可以是通过传递CSRF验证来创建用于测试的"秘密/主控"令牌,然后告诉您的应用程序接受它作为有效,例如,在"应用程序控制器"之后立即添加以下行. protect_from_forgery"line:
skip_before_filter :verify_authenticity_token, :if =>lambda{ params[:authenticity_token].present? && params[:authenticity_token] == 'YOUR_SECRET_TOKEN' }
Run Code Online (Sandbox Code Playgroud)
然后在httperf测试中,您应该发送带有参数的主令牌:&authenticity_token = YOUR_SECRET_TOKEN
| 归档时间: |
|
| 查看次数: |
527 次 |
| 最近记录: |