0

在 jmeter 中:我在一个线程组中使用了两个 http 请求,所以我从这些 http 请求中得到了两个响应。我需要一个响应中的“成员 ID”和其他响应中的一些字符串(摘要),以便创建第三个 http 请求。

我通过使用这个正则表达式提取了“成员 ID”: {"Id":(.+?)} 它返回了正确的成员 ID。

第二个请求的响应是 string(digest) : "G9V6Su9PESaobcInErdD7Y8OKNo=" 我又添加了一个正则表达式来提取这个字符串:"(.+?)"

我添加了两个调试采样器,因为我正在使用两个正则表达式提取器。

然后我将提取的值“成员 ID”和字符串(摘要)作为参数传递给第三个 http 请求。

当我运行它时出现错误,我的第三个 http 请求失败。它未能通过提取的“成员 ID”,但它正确地通过了字符串(摘要)

在第一个调试采样器中:它显示正确提取的“成员 ID”,但摘要字段的一些不同值。

在第二个调试采样器中:它显示正确提取的“摘要”字段,但“成员 ID”的值不同。我在一个线程组下完成所有工作

我是 jmeter 的新手,我不知道是否可以从两个不同的响应中提取字段并用作参数来创建新的 http 请求。如果可能的话,请帮助我。

提前致谢。

4

1 回答 1

0

我相信这是由于在“Id”正则表达式中包含引号(以及谁知道还有什么),您需要用引号将其括起来,例如:

{"Id":"(.+?)"}

处理 JSON 数据的更好方法是JSON Path Extractor,可通过JMeter Plugins项目获得。有关安装、使用、语法等的更多信息,请参阅在 JMeter 指南中使用 XPath 提取器(向下滚动到“解析 JSON”)。

于 2016-04-07T11:01:05.737 回答