Loader.io模拟Sinatra会话变量

时间:2015-04-14 19:51:49

标签: ruby session sinatra load-testing

我想使用Loader.io在我的服务器上运行负载测试。我正在通过:enable session使用Sinatra的默认会话,并通过以下方法登录用户:

# verify a user name and password
post '/nanotwitter/v1.0/users/session' do
  user = UserService.get_by_username_and_password({ :username => params[:username], :password => params[:password] })
  if user
    session[:user] = user[:id]
  else
    session[:login_error] = { :error_codes => ['l-inv'], :message => 'Account credentials are invalid.' }
  end
  redirect to '/'
end

我并不担心加密用户的凭据 - 这是针对学校项目的。在上面的代码中,一旦用户通过身份验证,其ID就会存储在“用户”中。会话中的变量。

我通过检查用户是否已登录来加载根页面。如果有一个名为user present的会话变量,我加载一个"登录"根页面而不是默认根页面。这是一个简单的if session[:user]检查。

我想模拟已登录的用户以维护客户端负载'在Loader.io上测试。有谁知道如何构建请求体来模拟这个会话变量是否存在?

1 个答案:

答案 0 :(得分:0)

最简单的方法是创建一个创建登录用户的before块。放一个condition on it so it only runs in development mode,或者只将它放在一个永远不会生产的分支中......只是不要让它进入生产代码!