实际上,我正试图将旧的测试套件迁移到Karate框架中。我必须验证响应标头,在Karate GET调用中没有返回"Content Encoding"标头-我在结果中检查了它,我可以看到所有其他响应标头,但不能看到"Content Enciding",并为断言返回null。
在同一个GET调用中,我在chrome浏览器开发人员控制台和POSTMAN中检查了它,这两个工具我都可以获得"内容编码",但在Karate中无法获得。
请帮我一下。
如果服务器返回Content-Encoding
,您将看到它,否则将看不到。
要验证标头是否不存在,很简单:
And match responseHeaders contains { 'Content-Encoding': '#notpresent' }
参见responseHeaders
:https://github.com/intuit/karate#responseheaders
不幸的是,它并没有提供所有的响应头,因为有些响应头,比如"内容编码:gzip"在解压缩内容后,被底层的Apache http库剥离。
请参阅:在获取请求的响应标头中显示内容编码时遇到问题