首页 > 解决方案 > API 自动化测试:有没有办法通过内容验证来自动化下载场景?

问题描述

我在我们的应用程序中有导出到 excel 的功能。我有一种情况:

  1. 执行导出到excel
  2. 验证 API 响应状态和导出的 Excel 内容。

使用 Postman,我可以使用“发送和下载”选项以 .xlsx 格式保存导出的 excel,稍后我将手动验证内容(列标题和行值)。

有没有办法通过 API 自动化端到端地自动化这个场景?

目前,我正在执行获取操作(空手道框架),它响应我这些标头作为响应:

  1. Content-Type →application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

  2. 接受范围→字节

正文:人类不可读的流对象。

状态:200 正常

如果 e2e 自动化不可能/不可行,那么在这种情况下自动化的接受标准应该是什么?

标签: automationrest-assuredkarateweb-api-testing

解决方案


2个选项。

  1. 如果您确定文件的二进制内容永远不会改变,请进行二进制比较,请参见以下示例upload-image.featureAnd match response == read('karate-logo.jpg')

  2. 您必须编写一些自定义代码。有 Java 库可以读取 Excel。使用其中之一,读取数据,然后与预期结果进行比较。请参阅有关 Java 互操作的文档并编写一个辅助函数来执行此操作。

编辑 - 也看到这个答案:https ://stackoverflow.com/a/53050249/143475


推荐阅读