Jmeter JSON提取器,用于在响应体中获取令牌值
全部。这是我收到GET请求后得到的响应:Jmeter JSON提取器,用于在响应体中获取令牌值,json,regex,jmeter,Json,Regex,Jmeter,全部。这是我收到GET请求后得到的响应: {"id":30, "name":"ABC, Inc.", "clientRiskAssessment":{"clientId":30, "generalScore":70, "federalScore":45, "internationalScore":20,
{"id":30,
"name":"ABC, Inc.",
"clientRiskAssessment":{"clientId":30,
"generalScore":70,
"federalScore":45,
"internationalScore":20,
"updatedDate":"0001-01-01T00:00:00+00:00",
"url":"https://example.com/WebPortal/Config/Tax/index.html?IsFrame=true#/app/questionnaire-response/GeneralTaxClientQa/abd8d723-dc4a-e711-811b-00505683008b",
"formattedDate":"01/01/0001"}}
我可以通过在JMeter中的JSON提取器-JSON路径表达式中使用$…url来获得“url”的整个值。有谁能给我一个提示,告诉我如何只在url的末尾获得令牌,而不是整个url值?这是我想在url末尾提取的标记:abd8d723-dc4a-e711-811b-0050568300B谢谢。我认为这是如何提取最稳定的标记: 添加到您的HTTP请求:
- A
- A
在我看来,这是获得最稳定提取的方法: 添加到您的HTTP请求:
- A
- A
您可以使用以下正则表达式提取器配置来获取此结构:
- 参考名称:任何有意义的内容,即
标记
- 正则表达式:
([a-f\d]{8}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{4}-([a-f\d]){12})
- 模板:
$1$
- 参考名称:任何有意义的内容,即
标记
- 正则表达式:
([a-f\d]{8}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{4}-([a-f\d]){12})
- 模板:
$1$
这将始终从url的末尾捕获令牌。您可以通过以下配置使用RegexPostProcessor: 正则表达式:url.*\/(.*)” 模板:$1$ 第1场
这将始终从url的末尾捕获令牌。也许,您可以使用。请参阅(第3点),您需要
.replaceFirst(“.*/”,“”)
谢谢@WiktorStribiżew replaceFirst方法仅替换第一个字符。在将令牌更改为replaceAllWell后,我能够获取该令牌。您不需要.replaceAlll
,因为只需要一个匹配项。不管怎样,这两种方法都有效。也许,你可以使用。请参阅(第3点),您需要.replaceFirst(“.*/”,“”)
谢谢@WiktorStribiżew replaceFirst方法仅替换第一个字符。在将令牌更改为replaceAllWell后,我能够获取该令牌。您不需要.replaceAlll
,因为只需要一个匹配项。无论如何,这两种方法都会奏效。