如果我的问题没有意义,请原谅我。
我想要做的是为查询参数注入值
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或者创建它的测试不是套件的一部分。我想仍然能够运行上面提到的场景,但这次它有一个默认值。
答案 0 :(得分:2)
而不是param
使用params
。它的设计使得任何具有空值的键都会被忽略。
在下面第一行设置null
后,您可以为另一个功能设置call
,并覆盖criteria
的值。如果它仍然是null
,则不会设置参数。
* def criteria = null
Given path 'search'
And params { filter: '#(criteria)' }
还有其他多种方法可以做到这一点,也可以参考数据驱动搜索参数的这组示例:dynamic-params.feature
conditional logic上的文档也可能会给你一些想法。