Jmeter:是否可以在另一个请求中使用一个请求的响应日期?

Jmeter:是否可以在另一个请求中使用一个请求的响应日期?,jmeter,blazemeter,Jmeter,Blazemeter,我们的应用程序(iOS)将向服务器发送图像详细信息,服务器生成图像ID并将其作为响应数据发送回应用程序,然后应用程序将使用该图像ID将图像缩略图和实际图像上载到服务器。 所以这里我必须使用第一个请求的响应数据(Image_ID)来上传图像。 请告诉我如何使用Jmeter模拟这个场景 提前感谢。要将整个响应数据存储到JMeter变量中,请执行以下操作: 将添加作为生成所需响应数据的请求的子级(在您的示例中为图像ID) 将以下代码添加到Beanshell后处理器的脚本区域: vars.put("im

我们的应用程序(iOS)将向服务器发送图像详细信息,服务器生成图像ID并将其作为响应数据发送回应用程序,然后应用程序将使用该图像ID将图像缩略图和实际图像上载到服务器。 所以这里我必须使用第一个请求的响应数据(Image_ID)来上传图像。 请告诉我如何使用Jmeter模拟这个场景


提前感谢。

要将整个响应数据存储到JMeter变量中,请执行以下操作:

  • 将添加作为生成所需响应数据的请求的子级(在您的示例中为图像ID)
  • 将以下代码添加到Beanshell后处理器的脚本区域:

    vars.put("imageID", new String(data));
    
    其中,
    imageID
    可以是您选择的任何有意义的变量名,
    data
    是表示为二进制字节数组的父采样器响应数据的缩写

  • 在当前线程组中需要时,将变量值引用为
    ${imageID}
    ${{uu V(imageID)}
  • 如果您不需要整个响应数据,但需要较小的部分,则可以使用后处理器获得所需的值

    参考资料:


    使用正则表达式提取器从上一个请求的响应中提取数据,然后在下一个请求中使用。请阅读jmeter示例中的相关信息。我使用“正则表达式提取器”来完成此操作,但在以下场景中遇到了问题:例如:测试计划:1。第一个请求(/v1/images/postmage)。2.正则表达式提取器(引用名称:image\u id,正则表达式:{“image\u id”:(.+?)})3.上传缩略图请求(/v1/images/${image\u id}/uploadthumb)。4.上传图像请求(/v1/images/${image\u id}/uploadimage)。这里它将为第三个(上传缩略图请求)取适当的值请求,但第四个请求(上传图像请求)将采用默认值。所有请求都在同一个线程组/事务控制器?中。可能您是变量作用域的受害者。请尝试将所有请求放在单个事务控制器或不带任何事务控制器的单个线程组中。如果您需要详细信息,我会将其作为答案写入。所有请求都在同一个线程组下。我使用了“正则表达式提取器”要做到这一点,但我在以下场景中遇到了问题:例如:测试计划:1.第一个请求(/v1/images/postimage)。2.正则表达式提取器(引用名称:image_id,正则表达式:{“image_id”:(.+?)})3。上载缩略图请求(/v1/images/${image\u id}/uploadthumb)。4.上载图像请求(/v1/images/${Image\u id}/uploadimage)。在这里,对于第三个(上传缩略图请求)请求,它将采用适当的值,但是对于第四个请求(上传图像请求),它将采用默认值。(另一方面,我认为它将针对每个请求运行)。谢谢你。