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

How to escape soapui variable pattern in the json request

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

request.json 看起来像:

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

当我发送 sopaui 请求时,原始文件看起来像

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

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

我相信这是一件微不足道的事。正如您正确指出的那样,它被 soapui 视为 property expansion,这就是它被发送为 "logmsg" : ""

的原因

您只需再添加一个 $。因此,您的请求应如下所示:

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