了SoapUI。将随机JSON值从数组传输到下一个响应

时间:2018-05-22 10:23:51

标签: json soapui

我必须通过SOAPUI测试一些REST服务。 JSON请求响应看起来像那样

    [
      {
      "id": 1,
      "name": "Name1",
   },
      {
      "id": 2,
      "name": "Name2",
      }
   },
      {
      "id": 3,
      "name": "Name3",
         }
         ]

我可以使用JFCpath表达式通过Property Transfer将此数组的特定id传输到下一个请求/ users / {id}的资源路径。 但是,我如何从此响应中选择一个随机id并将其放在以下请求资源路径中?

1 个答案:

答案 0 :(得分:0)

您可以使用Groovy Script根据数组的大小为您随机生成一个数字,而数组又可以与/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.的更多信息