首页 > 解决方案 > 空手道是否能够验证下载端点的 Excel 文件?

问题描述

我正在尝试确认从 api 下载的文件。在查看How to test download api using karate中的建议后,我的场景如下所示:

Scenario: GET /project - Export project listing 
Given params { someparam: 'paramvalue' }
When method GET
Then status 200
And match header Content-Disposition == 'attachment;filename="someFile.xlsx"'
And match header Content-Type == 'application/vnd.ms-excel'
And match response == read('data/exported.xlsx')

前2场比赛通过。但是,最后一次匹配(比较实际文件)失败,两个文件的二进制打印输出和“原因:不相等”。

比较中的文件“exported.xlsx”是通过 Postman 完成的完全相同请求的输出,因此它们应该匹配。

read() 是否能够处理 excel 和 csv 文件?任何帮助,将不胜感激。

标签: karate

解决方案


据我所知,这应该有效。read('data/exported.xlsx')将返回一个字节流。

如果这确实是一个错误,如果您遵循此过程,您将为社区提供很好的服务:https ://github.com/intuit/karate/wiki/How-to-Submit-an-Issue


推荐阅读