Jmeter:如何从第一个请求中获取第一个用户ID并将相同的用户ID转移到第二个请求?

时间:2019-04-20 13:06:28

标签: jmeter

我有一个包含两个HTTP请求的脚本

1第一个请求是用户身份验证。包括userId .....

2:第二个请求还包含userId。

两个参数是一致的。

如何从第一个请求中获取第一个用户ID并将相同的用户ID转移到第二个请求中?

我想从第一个请求中获取用户ID,而不是从响应中获取用户ID,响应主体不包含userId,请将相同的userId传输到第二个请求中。

这是第一个请求正文:

[

   {"productId":"5551",
   "userId":"${__RandomString(32,44e00d674dee4ff7a2d4f0081991b6d40Bs9Hc)}",
   "service":"200008",
   "app_system":"7.1.1",
   "equipmentId":"866935038314977",
   "app_devicetype":"vivo X20A",
   "app_platform":"Android",
   "app_version":"3.1.3",
   "market":"icash_main"}
] 

1 个答案:

答案 0 :(得分:2)

使用Extractors来关联您的请求和响应。

首先,您需要从第一个请求的响应中提取用户ID。

为此,请选择一个提取器(如果您的请求返回JSON响应,请使用JSON Extractor)并添加到您的第一个请求中。

第二,使用提取器通过变量获取userId的值后,可以在后续请求中使用它。

编辑:

要在两个请求中使用相同的用户ID ,请在测试计划中使用User Defined Variables,并在其中添加变量userID,如下所示:

enter image description here

在您的请求正文中,像这样使用userId变量:

{"productId":"5551",
   "userId":"${userId}",
   "service":"200008",
   "app_system":"7.1.1",
   "equipmentId":"866935038314977",
   "app_devicetype":"vivo X20A",
   "app_platform":"Android",
   "app_version":"3.1.3",
   "market":"icash_main"}

这是两个使用相同 userId

的请求的请求正文

请求的正文1:

enter image description here

请求的正文2:

enter image description here