属性 从测试用例响应转移到不同测试用例中的请求
Property Transfer from a testcase response to a request in different testcase
在 SoapUI
中测试 rest
服务,我需要 属性 从测试用例响应转移到不同测试用例中的请求。
Json第一个测试用例的响应如下:
{[{
"items":[{
"id": "1234",
"state": "XYZ",
"type" : "ABCD"
},
{
"id": "12345",
"state": "XYZV",
"type" : "ABCDF"
}
]}
响应中的 id(只有一个)必须通过 属性 transfer
定向到第二个测试用例的 Json 请求
{
workItemsId: ["1234"],
field: "ABCD"
}
我试过使用 items[0].id,但它只传输值。 我需要它作为响应中的一个数组。任何帮助将不胜感激。我对 SOAP 很陌生-UI.
您是为此使用两个测试用例还是仅使用两个测试步骤?
无论如何,不是将 属性 直接转移到下一个请求,而是可以在测试用例上将其设置为 属性,然后在下一个请求中使用 属性 扩展 属性。
所以,
- 在测试用例上创建 属性 "id"。
- 在 属性 传输步骤中使用 items[0].id
设置此 属性 的值
在下一个请求中使用 属性 扩展来填充值,所以 json 看起来像:
{
workItemsId:["${#TestCase#id}"],
field: "ABCD"
}
以下是有关 属性 扩展的更多详细信息:https://www.soapui.org/scripting---properties/property-expansion.html
IMO 最简单的方法是使用 属性 扩展。对于您的情况,您可以使用以下表示法 ${Test step name#Response#JSONPath}
.
假设您有一个名为 REST Test Request
的第一个 testStep,响应如下:
{
"items":[
{"id": "1234","state": "XYZ","type" : "ABCD"},
{"id": "12345","state": "XYZV","type" : "ABCDF"}
]
}
并且您想在第二个 testStep 请求中使用 items
数组中的第一个 id
并将其设置在数组中,您可以使用以下表示法:
{
workItemsId: [${REST Test Request#Response#$items[0].id}],
field: "ABCD"
}
更新
如果您在评论时希望在 属性 传输中使用 JSONPath
表达式,请添加 Property transfer
testStep,select 作为您请求的来源,因为 属性 response
,作为路径语言 JSONPath
然后放置表达式 $items[0].id
最后 select 您想要放置结果的 属性 。最后,您的 属性 转账将如下所示:
希望对您有所帮助,
在 SoapUI
中测试 rest
服务,我需要 属性 从测试用例响应转移到不同测试用例中的请求。
Json第一个测试用例的响应如下:
{[{
"items":[{
"id": "1234",
"state": "XYZ",
"type" : "ABCD"
},
{
"id": "12345",
"state": "XYZV",
"type" : "ABCDF"
}
]}
响应中的 id(只有一个)必须通过 属性 transfer
定向到第二个测试用例的 Json 请求 {
workItemsId: ["1234"],
field: "ABCD"
}
我试过使用 items[0].id,但它只传输值。 我需要它作为响应中的一个数组。任何帮助将不胜感激。我对 SOAP 很陌生-UI.
您是为此使用两个测试用例还是仅使用两个测试步骤? 无论如何,不是将 属性 直接转移到下一个请求,而是可以在测试用例上将其设置为 属性,然后在下一个请求中使用 属性 扩展 属性。 所以,
- 在测试用例上创建 属性 "id"。
- 在 属性 传输步骤中使用 items[0].id 设置此 属性 的值
在下一个请求中使用 属性 扩展来填充值,所以 json 看起来像:
{ workItemsId:["${#TestCase#id}"], field: "ABCD" }
以下是有关 属性 扩展的更多详细信息:https://www.soapui.org/scripting---properties/property-expansion.html
IMO 最简单的方法是使用 属性 扩展。对于您的情况,您可以使用以下表示法 ${Test step name#Response#JSONPath}
.
假设您有一个名为 REST Test Request
的第一个 testStep,响应如下:
{
"items":[
{"id": "1234","state": "XYZ","type" : "ABCD"},
{"id": "12345","state": "XYZV","type" : "ABCDF"}
]
}
并且您想在第二个 testStep 请求中使用 items
数组中的第一个 id
并将其设置在数组中,您可以使用以下表示法:
{
workItemsId: [${REST Test Request#Response#$items[0].id}],
field: "ABCD"
}
更新
如果您在评论时希望在 属性 传输中使用 JSONPath
表达式,请添加 Property transfer
testStep,select 作为您请求的来源,因为 属性 response
,作为路径语言 JSONPath
然后放置表达式 $items[0].id
最后 select 您想要放置结果的 属性 。最后,您的 属性 转账将如下所示:
希望对您有所帮助,