我对我的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}
),必须进行评估,但不属于那个属于实际请求的变量。
答案 0 :(得分:1)
我认为这是微不足道的。正如您正确指出的那样,它被soapui视为property expansion
,这就是它被发送为"logmsg" : ""
的原因
您需要做的就是添加额外的$
。因此,您的请求应如下所示:
{
"config": {
"logmsg": "$${some.input}",
"logfile": "kilores.log",
"loglevel": "${#TestCase#api_name}"
}
}