查询参数的默认值

时间:2017-12-18 19:42:05

标签: karate

如果我的问题没有意义,请原谅我。

我想要做的是为查询参数注入值

GET1 File
Scenario:

Given path 'search'
And param filter[id] = id (default value or variable from another feature file)

POST1 File
Scenario:
def newid = new id made by a post call
def checkid = read call(GET1) {id : newid}

就好像我的一个功能文件创建了一个新的id,然后我想用上面的场景进行一个get调用。因此我需要一个参数,其中包含新的id。

另一方面,如果我没有新创建的id或者创建它的测试不是套件的一部分。我想仍然能够运行上面提到的场景,但这次它有一个默认值。

1 个答案:

答案 0 :(得分:2)

而不是param使用params。它的设计使得任何具有空值的键都会被忽略。

在下面第一行设置null后,您可以为另一个功能设置call,并覆盖criteria的值。如果它仍然是null,则不会设置参数。

* def criteria = null
Given path 'search'
And params { filter: '#(criteria)' }

还有其他多种方法可以做到这一点,也可以参考数据驱动搜索参数的这组示例:dynamic-params.feature

conditional logic上的文档也可能会给你一些想法。