在jmeter中:如何从两个不同的json响应中提取值,并将提取的值用作新http请求的参数

时间:2016-04-07 09:57:06

标签: jmeter httprequest extractor

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

我使用这个正则表达式提取了'member id':{“Id”:(。+?)}  这会给我正确的会员ID。

来自第二个请求的响应是字符串(摘要):“G9V6Su9PESaobcInErdD7Y8OKNo =”  我添加了一个正则表达式来提取这个字符串:“(。+?)”

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

然后我将提取的值'member id'和string(digest)作为参数传递给第三个http请求。

当我运行它时,我收到错误,我的第3个http请求失败。 它未能通过提取的“成员ID”,但正确传递字符串(摘要)

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

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

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

提前致谢。

1 个答案:

答案 0 :(得分:0)

我相信它是由于在" Id"中加入了引号(以及谁知道还有什么)。正则表达式,你需要用引号括起来,如:

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

使用JSON数据的更好方法是JSON Path Extractor,可通过JMeter Plugins项目获得。有关安装,使用,语法等的详细信息,请参阅Using the XPath Extractor in JMeter指南(向下滚动到"解析JSON和#34;)。