Karate 编辑(更新、删除)空手道中的一个标题

Karate 编辑(更新、删除)空手道中的一个标题,karate,Karate,我有一个.js文件中的标题,我正在使用 * configure headers = read('classpath:services/Headers/distheader.js') 问题1 如何在运行时使用场景数据编辑此文件中的一个标题? 我尝试设置*标题'xyz'='value',但它没有编辑它 问题2 如果我想删除其中一个标题,怎么可能 因此,90%的场景都是“快乐路径”,并且配置了标题 现在,您需要一些场景来增加(或减少)标题。一个选项是为这些场景硬编码标题,请注意,您可以执行*c

我有一个
.js
文件中的标题,我正在使用

* configure headers = read('classpath:services/Headers/distheader.js')
问题1

  • 如何在运行时使用场景数据编辑此文件中的一个标题? 我尝试设置
    *标题'xyz'='value'
    ,但它没有编辑它
问题2

  • 如果我想删除其中一个标题,怎么可能

因此,90%的场景都是“快乐路径”,并且配置了
标题

现在,您需要一些场景来增加(或减少)标题。一个选项是为这些场景硬编码标题,请注意,您可以执行
*configure headers=null
以禁用“自动”标题。然后使用
标题
(或
标题
)关键字手动生成标题

另一个选项是,您可以调用headers函数并获取JSON,然后在手动设置头之前进行变异(添加/删除键)。例如:

# you can disable headers if needed
* configure headers = null

# headers.feature is: function(){ return { a: 1, b: 2 } }
* def fun = read('headers.feature')
* def temp = fun()
* remove temp.a
* set temp.c = 3

Given url 'https://httpbin.org'
And path 'anything'
And headers temp
When method get
Then status 200
因此,上面的优点是,如果您的Header例程很复杂,您可以重复使用它,但仍然可以进行细粒度控制