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