肥皂用户界面。将随机 JSON 值从数组传输到下一个响应
SoapUI. Transferring a random JSON value from array to the next response
我必须通过 SOAPUI 测试一些 REST 服务。
JSON 请求响应看起来像这样
[
{
"id": 1,
"name": "Name1",
},
{
"id": 2,
"name": "Name2",
}
},
{
"id": 3,
"name": "Name3",
}
]
我可以通过 属性 传输将此数组的特定 id
传输到下一个请求的资源路径 /users/{id
} 与 Jsonpath 表达式。
但是我如何 select 从这个响应中随机 id
并将其放在以下请求资源路径中?
您可以使用 Groovy 脚本根据数组的大小为您随机生成一个数字,然后可以与 /users/{id}
一起使用
//generate a random number using the range of 0 to 3
def randomNumber = Math.abs(new Random().nextInt() % 4)
log.info randomNumber
//Define json map
def map = [["id":123, "name":"Bob"],
["id":321, "name":"John"],
["id":333, "name":"Jim"],
["id":111, "name":"Sally"]]
//Use random number to select value from list
def selector = map.id[randomNumber]
log.info selector
要将 json 转换为地图,您可以使用 jsonslurper,您可以找到有关 here.
的更多信息
我必须通过 SOAPUI 测试一些 REST 服务。 JSON 请求响应看起来像这样
[
{
"id": 1,
"name": "Name1",
},
{
"id": 2,
"name": "Name2",
}
},
{
"id": 3,
"name": "Name3",
}
]
我可以通过 属性 传输将此数组的特定 id
传输到下一个请求的资源路径 /users/{id
} 与 Jsonpath 表达式。
但是我如何 select 从这个响应中随机 id
并将其放在以下请求资源路径中?
您可以使用 Groovy 脚本根据数组的大小为您随机生成一个数字,然后可以与 /users/{id}
//generate a random number using the range of 0 to 3
def randomNumber = Math.abs(new Random().nextInt() % 4)
log.info randomNumber
//Define json map
def map = [["id":123, "name":"Bob"],
["id":321, "name":"John"],
["id":333, "name":"Jim"],
["id":111, "name":"Sally"]]
//Use random number to select value from list
def selector = map.id[randomNumber]
log.info selector
要将 json 转换为地图,您可以使用 jsonslurper,您可以找到有关 here.
的更多信息