Karate 空手道:设置为true put参数的小写响应标头';重定向uri中的值也是小写的

Karate 空手道:设置为true put参数的小写响应标头';重定向uri中的值也是小写的,karate,Karate,我想为其中一个测试环境使用karate.configure('lowercaseseresponseheaders',true)。但问题是,它将状态值放在小写的redirect_uri中,该uri在POST请求的responseHeaders.location中返回。例如: 位置的返回值: location: https://www.example.com/bar?state=ReturnedValueForState 使用karate.configure将值设置为小写('lowercases

我想为其中一个测试环境使用
karate.configure('lowercaseseresponseheaders',true)
。但问题是,它将状态值放在小写的redirect_uri中,该uri在POST请求的
responseHeaders.location
中返回。例如:

位置的返回值:

location: https://www.example.com/bar?state=ReturnedValueForState
使用
karate.configure将值设置为小写('lowercaseseresponseheaders',true)

我必须使用原始返回值,否则当我使用重定向uri时,会得到一个404未找到。
空手道中有没有一种方法可以跳过响应者中项目的值,而只将项目的名称放在小写字母中?

没有。所以手动操作。在需要进行验证之前使用


编辑:这应该是固定的,在最新版本中,
configure lowercasereresponseheaders
只会影响头键,而不会影响值。

我找到了一种处理方法,但它不适用于其他响应头。下面是我的解决方案:在karate-config.js中

  • location:'location'
    作为以小写形式返回位置的环境变量

  • location:“location”
    用于以大写形式返回位置的环境。然后在功能中,我可以获得位置的值:`

     * def location = responseHeaders[location][0]`
     * def foo = location.substring(location.lastIndexOf('/') + 2)
    
    它不适用于头,例如
    PSU用户代理
    。响应为
    无法分析从位置1开始的令牌。应为?,',0-9,*

我在此处阅读了有关此问题的内容,但未发现任何问题:

我们使用最新的空手道版本:0.9.4

为什么空手道负责人的检查保持区分大小写?而在http协议中,它应该不区分大小写。
感谢您的回复

我无法在验证之前放置
karate.lowerCase()
,因为在某些环境中,响应负责人项目不是小写的。这就是我使用
karate.configure('LowercaseSponseHeaders',true)
为整个环境设置它的原因。@n查找执行
LowercaseSponseHeaders
的原因是,如果要验证某些头键值。否则就把它关掉。我要说的是把它关掉。如果您确实在执行一些检查,请使用
responseHeaders
变量并手动处理它。有道理吗?@Peter Thomas,我们需要并使用空手道实现自动化。这一点真的阻碍了我们,我们必须加倍相同的功能以适应不同的环境。你知道吗?请
 * def location = responseHeaders[location][0]`
 * def foo = location.substring(location.lastIndexOf('/') + 2)