如何在 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}"
}
}
我有一个 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}"
}
}