即使参数的值为空,如何放入参数

how to put in a param even if the value of param is null

所以我的代码如下:

* def value = newMP.response.data[randomizer].phoneNumber
* def nullvalue = 'null'
* def filter = (value == '#null' ? nullvalue : value)
* print filter
And param filter[phoneNumber] = filter

这段代码的结果是

问题是我的应用程序也允许搜索 null。因此,我正在寻找是否有可能根据条件逻辑

放入一个为空的过滤器

另外如果我这样走

And param filter[phoneNumber] = 'null'

空值在 GET 调用中

是的,默认情况下空手道会忽略 null-valued 参数,这是大多数用户所期望的。

您不清楚您的期望是什么,但我猜您需要一个空值的参数。

试试这个:

And param filter = ''

另请阅读此示例以获得更多想法:https://github.com/intuit/karate/blob/master/karate-demo/src/test/java/demo/search/dynamic-params.feature

我需要的是将参数值输入为 null"null",并验证响应值是 null,而不是字符串形式它的。下面是它的解决方法。

And def value = newMP.response.data[randomizer].phoneNumber
And eval if (value == null) karate.set('value', 'null')
And param filter[phoneNumber] = value
When method GET
Then status 200
* eval if (value == 'null') karate.set('value', null)
Then match response.data[0].attributes.phoneNumber contains value