查询参数的默认值

Default values for query parameters

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

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

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,或者创建它的测试不属于套件。我希望仍然能够 运行 上面提到的场景,但这次它有一个默认值。

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

下面第一行设置null后,可以对其他特征做call,覆盖criteria的值。如果仍然是null,则不会设置任何参数。

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

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

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