查询参数的默认值

问题描述 投票:1回答:1

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

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

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

karate
1个回答
2
投票

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

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.