Karate 当API名称中有破折号时,如何在Javascript中设置头变量?

Karate 当API名称中有破折号时,如何在Javascript中设置头变量?,karate,Karate,空手道新手。对javascript很生疏。我已经通读了intuit.空手道页面。我在这里寄出S.O.S.,请客气一点。当标题具有类似Content Type的名称时,如何通过.js配置标题?我指的不是值,而是实际名称。我有一个头部api,它混合了包含破折号的名称和不包含破折号的名称。此外,您可以在配置之后但在实际调用之前更新标头。尝试这样一个失败得很惨的事情: ''' 背景: * callonce read('getAuthorization.feature') * configure head

空手道新手。对javascript很生疏。我已经通读了intuit.空手道页面。我在这里寄出S.O.S.,请客气一点。当标题具有类似Content Type的名称时,如何通过.js配置标题?我指的不是值,而是实际名称。我有一个头部api,它混合了包含破折号的名称和不包含破折号的名称。此外,您可以在配置之后但在实际调用之前更新标头。尝试这样一个失败得很惨的事情:

''' 背景:

* callonce read('getAuthorization.feature')
* configure headers = read('classpath:payload.json')
* print 'headers: ', headers
* configure headers = {"Authorization" : authToken}
'''

其中payload.json具有静态值,Authorization authotoken来自getAuthorization.feature。我希望将授权添加到payload.json的头信息中


我为这个问题中的任何混乱提前道歉。来到这里之前,我尝试了intuit空手道页面、示例和youtube视频。

您可以考虑的改动很少

  • 当标题中有破折号时,如
    内容类型
在要素文件中:

* callonce read('getAuthorization.feature')
* configure headers = read('classpath:payload.json')
以上两个步骤就足够了

  • 使用js的标题
header.js

其特点是:

* configure headers = read('classpath:header.js')()


在这一点上,我想我只是要有*头在每个功能文件。由于API头变量名中的虚线,使头动态的javascript方法对我来说不起作用。很遗憾,因为我真的很喜欢javascript选项。我在一家非常大的公司工作,我想我们不是唯一在标题名称中有破折号的公司。非常感谢你Babu Sekaran!我使用了第二个header js函数!只需要做一次调整。而不是def authCall。。。必须将其更改为var authCall。再次感谢!!
* callonce read('getAuthorization.feature')
* configure headers = read('classpath:payload.json')
function fn() {
    var authCall = karate.callSingle('getAuthorization.feature')
    var headers = {}
    // add all static headers as well
    headers["Content-Type"] = "application/json"
    headers["Authorization"] = authCall.authToken
    return headers
}
* configure headers = read('classpath:header.js')()
* configure headers = call read('classpath:header.js')