我使用数据库作为数据源将属性和值传输到SoapUI中的测试脚本。
在这种情况下,我有3个占位符,我使用它作为标题类型和我的休息测试的值。我面临的问题是,如果从数据库中为NULL,我如何让soapUI忽略标题类型/值的属性转移?
我发现Soap UI会自动尝试发送$ header_type_2&的NULL标头属性和值。 $ header_type_value_2,即使它们被读入为NULL。
在原始标头请求中,它看起来像这样:
GET https://api.testapi.test.domain.au:443/v1/ttds/events HTTP/1.1
Connection: close
Accept-Encoding: gzip,deflate
User-Agent: AppName/1.0
:
Authorization: apikey 1233434f7909641458992a7dfebcd3bd311
Host: api.testapi.test.domain.au:443
注意':'在4号线?这导致服务返回400错误请求。
下面的屏幕截图显示了我如何在Soap UI(开源版)中设置我的GET REST测试步骤
答案 0 :(得分:1)
这实际上是一个很好的问题。请注意,仅当Header属性名称为null而不是其值时才会收到400 Error。
不容易忽视"标题属性;相反,你可以为它分配一个默认字符串,这样就不会抛出错误。
要用更有形的东西替换Null或Empty,您需要使用嵌套变量的内联脚本。所以对于你的项目截图,它将是这样的:
标题:$ {= if(" $ {header_type_1}" =="" ||" $ {header_type_1}& #34; == null)返回" NULL_HEADER_1"否则返回" $ {header_type_1}"}
价值:$ {header_type_value_1}
标题:$ {= if(" $ {header_type_2}" =="" ||" $ {header_type_2}& #34; == null)返回" NULL_HEADER_2"否则返回" $ {header_type_2}"}
价值:$ {header_type_value_2}
标题:$ {= if(" $ {header_type}" =="" ||" $ {header_type}& #34; == null)return" NULL_HEADER"否则返回" $ {header_type}"}
值:$ {header_type_value}