首页 > 解决方案 > 空手道模拟测试双打无法识别 headerContains 场景参数

问题描述

这不是关于简单的空手道测试功能文件的问题。这是一个模拟功能文件!我真的需要在我的模拟功能文件中检查 Autorization 令牌。只要我不使用 headerContains 参数,其他一切都可以正常工作。有了它,我得到一个错误。我也尝试过'requestHeaders.val [0]',我遇到了同样的问题。另外,我试图找到一种方法来记录标头的内容,但在模拟功能文件中似乎没有办法做到这一点。使用 karate.log 不会记录任何请求信息。这是我在 javascript 场景描述中使用 headerContains 得到的错误:

17:07:14.285 [nioEventLoopGroup-3-1] WARN  com.intuit.karate - scenario match evaluation failed: javascript evaluation failed: pathMatches('/v1/oauth2/accesstoken') && paramValue('grant_type') == 'client_credentials' && methodIs('get') && headerContains('Authorization', 'Basic blablablatoken'), ReferenceError: "headerContains" is not defined in <eval> at line number 1

这是没有它的信息:

17:17:11.787 [nioEventLoopGroup-3-1] DEBUG com.intuit.karate - scenario matched: pathMatches('/v1/oauth2/accesstoken') && paramValue('grant_type') == 'client_credentials' && methodIs('get')

标签: apiheadermockingkarate

解决方案


道歉 - 文档有错误,headerContains()实际上不存在。文档在develop

你可以karate.get()这样使用:

Scenario: karate.get('requestHeaders.Authorization[0]') == 'expected'

推荐阅读