如何在蝗虫运行负载测试时获取用户的用户信息

时间:2014-10-15 13:20:48

标签: locust

我提供的用户数= 12,孵化率= 2。 如何获取所有用户访问我的网页的用户ID,因为我希望根据正在创建的对象名称进行一些自定义(例如文章标题)。

如何在创建新文章时传递用户信息(比如用户ID)。因此,如果我对12个用户进行测试,我会知道文章是由某个用户创建的。

from locust import HttpLocust, TaskSet, task

def create_new_article(self):
       with self.client.request('post',"/articles",data={"article[title]":"computer","article[content]":"pc"},catch_response=True) as response:   
       print response          

1 个答案:

答案 0 :(得分:0)

  

如何获取所有用户的用户ID?

这取决于您的Web服务器的设置方式。 应用程序上下文中的用户ID究竟是什么?

我将继续假设你有一些机制可以用来生成用户ID。

您可以让客户端获取用户ID(例如使用Javascript),然后在HTTP请求中将每个ID传递给服务器,您可以自定义标头以包含该请求的用户ID

例如,如果您使用Flask / Python来处理Web应用程序的所有业务逻辑,那么您可能会有一些代码:

with self.client.request('post',"/articles",headers=header_with_user_id,data={"article[title]":"computer","article[content]":"pc"},catch_response=True) as response:
  

如何在创建新用户时传递用户信息(比如用户ID)   制品

您可以将Locust脚本中的POST请求行更改为:

header_with_user_id

其中header_with_user_id = { "user-id": <some user ID>} 可以定义如下:

<some user ID>

其中hardToFind将是您获取用户ID的机制的字符串化版本。