当前位置: 首页 > 知识库问答 >
问题:

如果属性为null,则忽略REST头中的属性传输- SOAPUI Groovy

潘秦斩
2023-03-14

我使用数据库作为数据源,将属性和值传输到SoapUI中的测试脚本。

在这种情况下,我有 3 个占位符,我将其用作Rest测试的标题类型和值。我面临的问题是,如果数据库中的标头类型/值为 NULL,如何让 soapUI 忽略它的属性转移?

我发现 Soap UI 会自动尝试发送 $header_type_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

注意到第四行的“:”了吗?这导致服务返回400个错误请求。

下面的屏幕截图显示了我如何在Soap UI(开源版)中设置GET REST测试步骤

共有1个答案

宗政小林
2023-03-14

这其实是个好问题。请注意,仅当标头属性名称为空(而不是其值)时,您才会收到 400 错误。

“忽略”标头属性并不容易;相反,您可以为其分配默认字符串,这样它就不会引发错误。

要用更有形的东西替换Null或空,您需要使用带有嵌套变量的内联脚本。因此,对于您的项目屏幕截图,它将如下所示:

标题:${=if("${header_type_1}"=="" || "${header_type_1}"==null)返回"NULL_HEADER_1"否则返回"${header_type_1}"}

值:${header_type_Value_1}

标题:${=if("${header_type_2}"=="" || "${header_type_2}"==null)返回"NULL_HEADER_2"否则返回"${header_type_2}"}

值: ${header_type_value_2}

HEADER:$ { = if(" $ { HEADER _ type } " = = " " | | " $ { HEADER _ type } " = = NULL)返回" NULL_HEADER "否则返回" ${header_type}"}

价值:${header_type_value}

 类似资料:
  • 问题内容: 我在GlassFish 4上使用java.util.logging。 我正在定义自己的类,以通过定义System属性 来初始化。 我的班级加载文件,将其与其他属性文件合并,并进行一些自定义替换。 以下是我文件的相关部分: 我正在使用标准并将其配置为使用格式化程序。 但是字符串被完全忽略了。相反,SimpleFormatter使用其默认格式。 我哪里做错了? 问题答案: 我假设系统属性是

  • 问题内容: 我有一个标准POJO,其中包含一组属性。POJO已被注释为,以便作为文档保留在MongoDB中。 我如何(注释?)可以忽略/避免POJO中的属性之一被保留? 问题答案: 该注释是。参见http://static.springsource.org/spring- data/data-document/docs/current/reference/html/#mapping-usage-

  • 我们希望能够将未映射的SourcePolicy设置为ReportingPolicy. ERROR,以便默认情况下丢失的源会大声失败。但是,有时源对象模型包含与目标无关的内容。因此,我们希望能够执行以下操作: 可以对目标执行类似操作。如果我尝试上述操作,我会得到错误,因为映射中需要目标。

  • 问题内容: 我刚开始使用Spring DI,但是我在依赖注入方面苦苦挣扎,更糟糕的是,我什至不确定为什么对我来说似乎还可以。希望你们能帮助我! 问题是注释为@Autowired的属性始终为null 我有一些具有Maven结构的项目: com.diegotutor.lessondeliver com.diegotutor.utility 我正在通过Tomcat 7运行示例 我在我的使用以下依赖项:

  • 我是网络开发新手,所以这可能是非常基本的。如果datainfo prop变量不是空的,我想向div标记添加一个数据属性 但是现在,如果datavalue是空的,则data属性会添加一个空值。相反,我希望它根本不会出现在div标签中。 我可以在JSX子句中添加整个内容吗?