JMeter:如何使用正则表达式提取器捕获整体响应数据

JMeter: How to capture overall response data using Regular Expression Extractor

我想重新使用监听器中收到的响应数据,如下图所示。

我想知道,我怎样才能捕捉到整体响应,以便我可以重复使用相同的内容进行上传。

场景是:

  1. 使用 TCP 采样器(端口:XYZW)下载 1KB 的字符串数据

  2. 上传收到的文本回复(端口:ASDF)

希望我理解你的问题,

您可以使用常规 exp [a-z0-9]* 和任何引用名称,比如在您的第一个 TCP 请求中说 "TCP_Data"。 现在您可以在 TCP 请求 2 中使用相同的引用名称,通过 ${TCP_Data}.

使用 Http 采样器,我添加一个 BeanShell PostProcessor 作为 Http 采样器的子级,并使用下面的脚本来检索所有响应数据,我认为它与 TCP 采样器相同,让我们试试:

// get all response data
String dashboardData = prev.getResponseDataAsString();
// do something with the data
// and then put the retrieved data into parameter to use later
vars.put("dataTobeUsed", dashboardData);

我们可以将${dataTobeUsed}用于其他采样器

如果要通过正则表达式提取器获取响应数据,可以使用模式 ([^"]+)

希望对您有所帮助!

根据How to Extract Data From Files With JMeter,相关的正则表达式应该是:

(?s)(^.*)

整个配置: