在 JSONPath SoapUI 中检索信息
Retrieve information in JSONPath SoapUI
我在 SoapUI 中有一个 JSON 响应,如下所示:
{
"civilite" : "1" ,
"nom" : "Fitz",
"prenom" : "Quinn",
"dateN" : "07/10/1953"
}
但我只想使用 JsonPath 检索此数据的一部分,所以我可以这样:
{
"nom" : "Fitz",
"prenom" : "Quinn"
}
有没有办法应用 JsonPath 表达式来检索此信息?
试试这个
input = {
"civilite" : "1" ,
"nom" : "Fitz",
"prenom" : "Quinn",
"dateN" : "07/10/1953"
}
output ={};
input.reduce(function (result, currentObject) {
output = {
nom: currentObject.nom,
prenom: currentObject.prenom
};
return output;
}, output);
对于第一个请求步骤,添加 Script Assertion
并使用以下脚本。该脚本提取 nom
和 prenom
值,并使用给定的 属性 名称在测试用例级别自定义属性中设置它们。使用 Script Assertion
,可以避免额外的 Groovy Script
测试步骤。
然后在接下来的测试步骤中,使用属性扩展,这样soapui会自动将这些值替换为实际值。
脚本断言:
//Check if the response is non empty or null
assert context.response
//Parse Json
def parsedJson = new groovy.json.JsonSlurper().parseText(context.response)
log.info "Nom: ${parsedJson.nom}"
log.info "Prenom: ${parsedJson.prenom}"
//assert if nom and prenom are not empty
assert parsedJson.nom, "nom is null or empty in the response"
assert parsedJson.prenom, "prenom is null or empty in the response"
//Set the retrieved values at test case level properties NOM, PRENOM
context.testCase.setPropertyValue('NOM', parsedJson.nom as String)
context.testCase.setPropertyValue('PRENOM', parsedJson.prenom as String)
用属性 Expansion
改变第二步请求内容如下
{
"nom" : "${#TestCase#NOM}",
"prenom" : "${#TestCase#PRENOM}"
}
我在 SoapUI 中有一个 JSON 响应,如下所示:
{ "civilite" : "1" , "nom" : "Fitz", "prenom" : "Quinn", "dateN" : "07/10/1953" }
但我只想使用 JsonPath 检索此数据的一部分,所以我可以这样:
{ "nom" : "Fitz", "prenom" : "Quinn" }
有没有办法应用 JsonPath 表达式来检索此信息?
试试这个
input = {
"civilite" : "1" ,
"nom" : "Fitz",
"prenom" : "Quinn",
"dateN" : "07/10/1953"
}
output ={};
input.reduce(function (result, currentObject) {
output = {
nom: currentObject.nom,
prenom: currentObject.prenom
};
return output;
}, output);
对于第一个请求步骤,添加 Script Assertion
并使用以下脚本。该脚本提取 nom
和 prenom
值,并使用给定的 属性 名称在测试用例级别自定义属性中设置它们。使用 Script Assertion
,可以避免额外的 Groovy Script
测试步骤。
然后在接下来的测试步骤中,使用属性扩展,这样soapui会自动将这些值替换为实际值。
脚本断言:
//Check if the response is non empty or null
assert context.response
//Parse Json
def parsedJson = new groovy.json.JsonSlurper().parseText(context.response)
log.info "Nom: ${parsedJson.nom}"
log.info "Prenom: ${parsedJson.prenom}"
//assert if nom and prenom are not empty
assert parsedJson.nom, "nom is null or empty in the response"
assert parsedJson.prenom, "prenom is null or empty in the response"
//Set the retrieved values at test case level properties NOM, PRENOM
context.testCase.setPropertyValue('NOM', parsedJson.nom as String)
context.testCase.setPropertyValue('PRENOM', parsedJson.prenom as String)
用属性 Expansion
改变第二步请求内容如下{
"nom" : "${#TestCase#NOM}",
"prenom" : "${#TestCase#PRENOM}"
}