我如何发送一个参数进入rest api,该参数可以为null或具有某些值?

时间:2018-07-17 05:17:22

标签: json rest automated-tests soapui nullable

我如何发送一个参数给rest api,可以为null或具有某些值? 我想用json发送此参数。 数据是从外部文件读取的,我的问题是该文件有几行,而在某些行中,我的参数值是空的,其中一些包含数据 我想自动删除自动测试中为空的参数,甚至删除键,直到不发生异常。

"length": "${DataSource#Length}",
"offset": "${DataSource#Offset}",
"cityCode": "${DataSource#CityCode}",
"cityName" : "${DataSource#CityName}" ,
"provinceCode": "${DataSource#ProvinceCode}",
"provinceName" : "${DataSource#ProvinceName}"

screenshot from soapui pro

1 个答案:

答案 0 :(得分:0)

您可以在运行API之前编写常规步骤,在该步骤中,您将根据变量中的空值准备输入

逻辑:-

  1. 从数据源中提取值
  2. 检查它们是否为空,不要在输入中添加它们
  3. 因此,准备好的最终字符串存储在一个testcase属性中
  4. 可以在实际的休息请求中扩展该属性

`

String jsonInput=""

def Length=context.expand("${DataSource#Length}")
def offset=context.expand("${DataSource#Offset}")

if(Length)
 {
    jsonInput=jsonInput+Length
 }
if(offset!=null)
{
 jsonInput=jsonInput+offset
 }

testRunner.testCase.setPropertyValue("jsonInput",jsonInput)

现在在“休息”步骤中您可以提及

  ${#TestCase#jsonInput}