如果 属性 为空,则在 REST header 中忽略 属性 传输 - SOAPUI Groovy
Ignore property transfer in REST header if property is null - SOAPUI Groovy
我使用数据库作为数据源将属性和值传输到我在 Soap 中的测试脚本UI。
在这种情况下,我有 3 个占位符,我将它们用作 header 类型和我的休息测试的值。我面临的问题是如何让 soapUI 忽略 header type/value 的 属性 传输(如果它在数据库中为 NULL)?
我发现 Soap UI 会自动尝试发送 NULL header 属性 和 $header_type_2 & $header_type_value_2 的值,即使它们被读入为 NULL。
在原始 header 请求中它看起来像这样:
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 行的“:”了吗?这导致服务 return 400 错误请求。
下面的屏幕截图显示了我如何在 Soap 中设置 GET REST 测试步骤 UI(开源版)
这实际上是个好问题。请注意,仅当 Header 属性 名称为 null 而不是其值时,您才会收到 400 错误。
"ignore"header属性不容易;相反,您可以为其分配一个默认字符串,这样它就不会抛出错误。
要用更具体的东西替换 Null 或 Empty,您需要使用带有嵌套变量的内联脚本。因此,对于您的项目截图,它应该是这样的:
Header: ${=if ("${header_type_1}"=="" || "${header_type_1 }"==null) return "NULL_HEADER_1" else return "${header_type_1}"}
价值:${header_type_value_1}
Header: ${=if ("${header_type_2}"=="" || "${header_type_2 }"==null) return "NULL_HEADER_2" else return "${header_type_2}"}
价值:${header_type_value_2}
Header: ${=if ("${header_type}"=="" || "${header_type }"==null) return "NULL_HEADER" else return "${header_type}"}
价值:${header_type_价值}
我使用数据库作为数据源将属性和值传输到我在 Soap 中的测试脚本UI。
在这种情况下,我有 3 个占位符,我将它们用作 header 类型和我的休息测试的值。我面临的问题是如何让 soapUI 忽略 header type/value 的 属性 传输(如果它在数据库中为 NULL)?
我发现 Soap UI 会自动尝试发送 NULL header 属性 和 $header_type_2 & $header_type_value_2 的值,即使它们被读入为 NULL。
在原始 header 请求中它看起来像这样:
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 行的“:”了吗?这导致服务 return 400 错误请求。
下面的屏幕截图显示了我如何在 Soap 中设置 GET REST 测试步骤 UI(开源版)
这实际上是个好问题。请注意,仅当 Header 属性 名称为 null 而不是其值时,您才会收到 400 错误。
"ignore"header属性不容易;相反,您可以为其分配一个默认字符串,这样它就不会抛出错误。
要用更具体的东西替换 Null 或 Empty,您需要使用带有嵌套变量的内联脚本。因此,对于您的项目截图,它应该是这样的:
Header: ${=if ("${header_type_1}"=="" || "${header_type_1 }"==null) return "NULL_HEADER_1" else return "${header_type_1}"}
价值:${header_type_value_1}
Header: ${=if ("${header_type_2}"=="" || "${header_type_2 }"==null) return "NULL_HEADER_2" else return "${header_type_2}"}
价值:${header_type_value_2}
Header: ${=if ("${header_type}"=="" || "${header_type }"==null) return "NULL_HEADER" else return "${header_type}"}
价值:${header_type_价值}