我正在尝试使用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'cookies方法始终在控制器内部返回nil。
所以,请建议我如何克服这个问题,或者是一个更好的(基于控制台的)工具来测试rails应用程序的负载。
发布于 2013-07-02 06:28:41
您可能在使用rails附带的CSRF验证时遇到了问题。检查您的日志,如果您看到以下行,那么这就是原因:
WARNING: Can't verify CSRF token authenticity一个变通办法是创建一个“秘密/主”令牌,用于您的测试,通过CSRF验证,然后告诉您的应用程序将其作为有效令牌接受,例如,在您的ApplicationController中"protect_from_forgery“行之后添加以下行:
skip_before_filter :verify_authenticity_token, :if =>lambda{ params[:authenticity_token].present? && params[:authenticity_token] == 'YOUR_SECRET_TOKEN' }然后在httperf测试中,您应该发送带有params:&authenticity_token=YOUR_SECRET_TOKEN的主令牌
https://stackoverflow.com/questions/17195435
复制相似问题