SoapUI相关(属性转)

SoapUI correlation (property transfer)

我有一个响应如下的 REST 请求:

{
   "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlQwWE8xNnAtMmZzMWxremV5",
   "expires_in": 2592000,
   "token_type": "Bearer"
}

我想获取 access_token 的值,将其存储在 属性 中,并在两个后续请求中重复使用。

按照一些教程 here,当 运行 获得 access_token 的请求时,我得到一个:

error parsing target property: error unexpected element CDATA

但是为什么呢?

我的原始回复中没有 CDATA。

如果您在使用 transfer properties step 从响应中获取 JSON 值时遇到问题,可以使用 groovy test step 来实现您的目标。

因此创建一个 groovy test step 来解析您的响应,获取您的值并将其设置为 属性(例如在 testCase 级别),代码如下:

import groovy.json.JsonSlurper

// get response using the name of your test step
def response = context.expand('${REST Test Request#Response}')
// parse response
def jsonResp = new JsonSlurper().parseText(response)
// get the token an set as a property in the testCase
testRunner.testCase.setPropertyValue('access_token',jsonResp.access_token)

然后在另一个 testSteps(REST 或 SOAP...)中,您可以使用以下代码获取您在 testCase 中设置的 access_token 值:

${#TestCase#access_token}

希望这对您有所帮助,