我的问题是我需要在Jmeter中定义一个正则表达式,以便在页面中创建DELETE方法。真正的问题是我无法删除带有ID的特定令牌。
我定义了一个正则表达式,它的名字是“ uidprofesor”,它指向令牌。此令牌,当我尝试手动删除它并捕获请求时,在原始响应数据中得到以下代码:
{"headers":
{"Location":["/api/profesores/5c745065-3155-4ff7-ac65-7699a36f611c"],
"X-afppApp-alert":["afppApp.profesor.created"],
"X-afppApp-params":["5c745065-3155-4ff7-ac65-7699a36f611c"]},
"body":{"id":"5c745065-3155-4ff7-ac65-7699a36f611c",
"nif":"12345678Q",
"name":"jmeter_122",
"firstSurname":"jmeter_122",
"secondSurname":"",
"address":"",
"postalCode":"",
"telephone":"",
"mobile":"",
"email":"",
"dateInsert":"24/04/2019"
},
"statusCode":"CREATED",
"statusCodeValue":201
}
,我假设“ 5c745065-3155-4ff7-ac65-7699a36f611c”是ID。
如果我想定义“ uidprofesor”来捕获该ID,我应该在常规erxpression中定义什么?
我尝试定义如下正则表达式:
{"headers":"(.+?)"
{"headers":{"Location":"(.+?)"
{"Location":"(.+?)"
但是什么都没有。它显示默认值:NOT_FOUND,并且不会删除所选令牌。
我在这里给您提供一些额外的信息:
regular expression ${uidprofesor} = {"headers":"(.+?)"
在HTTP请求中,路径为:
https://desa1eap7.asturias.es/afpp-back/${uidprofesor}
如果我手动进行删除,请在Google Chrome开发者标签中返回:
Requested URL: https://desa1eap7.asturias.es/afpp-back/api/profesores
如果您需要更多信息,请询问。谢谢。
答案 0 :(得分:1)
使用jMeter JSON提取器:https://jmeter.apache.org/usermanual/component_reference.html#JSON_Extractor
它使用JsonPath https://goessner.net/articles/JsonPath/
$.headers.Location[0]
在线检查