如何在json请求中转义soapui变量模式

时间:2016-05-31 08:08:52

标签: json soapui

我对我的API有一个JSON请求,它将输入字符串作为模式${some.input},它等同于SoapUI属性扩展

request.json看起来像:

{
    "config": {
        "logmsg": "${some.input}",
        "logfile": "kilores.log",
        "loglevel": "${#TestCase#api_name}"
    }
}

当我发送一个sopaui请求时,raw看起来像

{
    "config": {
        "logmsg": "",
        "logfile": "kilores.log",
        "loglevel": "info"
    }
}

这里的问题是SoapUI假定${some.input}属于SoapUI属性扩展,需要进行评估。实际上${some.input}是API JSON请求的一部分,而不应该在发送之前由SoapUI评估。我怎样才能做到这一点?我在同一个请求中有其他SoapUI变量(如${#TestCase#api_name}),必须进行评估,但不属于那个属于实际请求的变量。

1 个答案:

答案 0 :(得分:1)

我认为这是微不足道的。正如您正确指出的那样,它被soapui视为property expansion,这就是它被发送为"logmsg" : ""的原因

您需要做的就是添加额外的$。因此,您的请求应如下所示:

{
    "config": {
        "logmsg": "$${some.input}",
        "logfile": "kilores.log",
        "loglevel": "${#TestCase#api_name}"
    }
}