soapui更新来自脚本的json请求

时间:2015-05-18 15:42:38

标签: json groovy soapui

我无法找到解决问题的方法。许多我尝试过的都行不通。有人能帮助我吗?

我有一个像这样的JSON:

{
"device": {
  "sdk_revision": "dev",
  "sdk_type": "android",
  "app_id": "0518101906",
  "app_version": "0.0.0"
},
"request": {}
}

在soapUI(RestProject)中的请求步骤中。

我想更改此JSON中的app_id值,所以在我的groovy脚本中我做了:

import groovy.json.JsonSlurper

def today = new Date()
appId = today.format("MMddHHmmss")

def extractSelectionJson(String from) {
    def slurper = new JsonSlurper()
    def holderData = slurper.parseText(context.expand('${'+ from +'#Request}'))

appIdKey = holderData["device"]["app_id"]
appIdKey = appId
}

extractSelectionJson("SessionCreate")`

appId仅在本地更改,在我的json请求中我仍然"app_id": "0518101906"虽然我已尝试setPropertyValue()updateProperty()(可能不正确)。

1 个答案:

答案 0 :(得分:2)

对于像这样简单的东西,你可以只使用一行:

{
  "device": {
    "sdk_revision": "dev",
    "sdk_type": "android",
    "app_id": "${=String.format('%tm%td%tH%tM%tS'
        , new Date()
        , new Date()
        , new Date()
        , new Date()
        , new Date())}",
    "app_version": "0.0.0"
  },
  "request": {}
}

如果您需要String.format()的详细信息,则该信息位于documentation