新しいRails 3アプリでパフォーマンスの記録/追跡のためにABをいじってみました。アプリは常にログインする必要があるため、ログインするには POST リクエストを実行する必要がありました。次のように資格情報をテキスト ファイルに入れることができましたが、AuthenticityToken が問題を引き起こしています。
#login_data.txt
user_account%5Busername%5D=admin&user_account%5Bpassword%5D=adminhr
#AB command
ab -v4 -n100 -t5 -T 'application/x-www-form-urlencoded' -p login_data.txt http://nhc.lvh.me:3000/
#The log
Started POST "/" for 127.0.0.1 at 2011-02-15 11:13:37 +0545
Processing by CompaniesController#index as */*
Parameters: {"user_account"=>{"username"=>"admin", "password"=>"[FILTERED]"}}
Completed in 1ms
ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken):
Rendered /Users/millisami/.rvm/gems/ruby-1.9.2-p136/gems/actionpack-3.0.0/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.0ms)
Rendered /Users/millisami/.rvm/gems/ruby-1.9.2-p136/gems/actionpack-3.0.0/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (1194.0ms)
Rendered /Users/millisami/.rvm/gems/ruby-1.9.2-p136/gems/actionpack-3.0.0/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (1291.3ms)
問題は、使用時にその AuthenticityToken を渡すまたは無視する方法ab
です。動的に生成されるため、どこかに保存できますか、それとも他のより良い解決策はありますか?