当前位置: 首页 > 知识库问答 >
问题:

API自动化测试:有没有办法通过内容验证自动化下载场景?

戎兴言
2023-03-14

我有一个出口到Excel功能在我们的应用程序。对此我有一个场景:

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

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

有没有办法通过应用编程接口自动化端到端地自动化这个场景?

目前,我正在执行get操作(空手道框架),该操作将响应以下标题:

>

  • 内容类型→应用程序/vnd。OpenXMLFormatsOfficeDocument。电子表格。床单

    接受范围→字节

    身体:流对象,不是人类可读的。

    状态: 200 ok

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

  • 共有2个答案

    令狐翰
    2023-03-14

    找出用Java和空手道实现解决方案的方法。以下是步骤:

    >

    def helper=Java。键入('com.java.Utility')并定义excel=helper。ByteArrayToExcel(响应字节)

    在实用程序类中,您将有一个ByteArrayToExcel方法,该方法将包含以下代码:

    导入org.apache.commons.io.FileUtils;

    FileUtils。writeByteArrayToFile(新文件(“src\test\java\testdata\Actual\u Response.xlsx”)、ResponseBytes;

    现在,excel将位于指定位置。

    编写一个方法来比较两个excel文件(针对特定请求的实际文件和预期文件)。谷歌它,你会找到代码。指定其返回类型为布尔值。

    在空手道中,使用如下布尔值:

    并匹配excelCompareResult==true

    希望这会有帮助。

    何浩荡
    2023-03-14

    2个选项。

    >

  • 如果您确定文件的二进制内容永远不会更改,请执行二进制比较,请参见此示例:upload image。功能和匹配响应==read('karate-logo.jpg')

    你必须写一些自定义代码。有Java库可以读取Excel。使用其中一个,读取数据,然后与预期结果进行比较。请参考互操作Java文档,并编写一个帮助函数来完成此操作。

    编辑-另请参见以下答案:https://stackoverflow.com/a/53050249/143475

  •  类似资料:
    • 自动化测试 如果你想构建可靠的高质量的软件,自动化测试将是你工具箱里面非常关键的一个部分,它帮助你减少手工测试的代价,提高你的开发小组重构已有代码的能力。 自动化测试的类型  并非所有的自动化测试都是相似的,他们通常在作用域、实现方式和执行时间上有所差异,我把他们分成三种类型的测试:单元测试、集成测试和功能测试。 单元测试用于测试你代码的最小单元,在基于java的项目中这个单元就是一个方法(met

    • 传统的接口自动化测试成本高,大量的项目没有使用自动化测试保证接口的质量,仅仅依靠手动测试,是非常不可靠和容易出错的。 YApi 为了解决这个问题,开发了可视化接口自动化测试功能,只需要配置每个接口的入参和对 RESPONSE 断言,即可实现对接口的自动化测试,大大提升了接口测试的效率。 第一步,测试集合 使用 YApi 自动化测试,第一步需要做得是创建测试集合和导入接口,点击添加集合创建,创建完成

    • 1 测试内容 1.1 视觉人员测试 1.2 产品经理测试 1.3 测试人员测试 2 测试工具 2.1 UI 测试工具 2.1.1 TestComplete 2.1.2 RobotFramework 2.1.3 Katalon Studio 参考

    • 在 Hyperf 里测试默认通过 phpunit 来实现,但由于 Hyperf 是一个协程框架,所以默认的 phpunit 并不能很好的工作,因此我们提供了一个 co-phpunit 脚本来进行适配,您可直接调用脚本或者使用对应的 composer 命令来运行。自动化测试没有特定的组件,但是在 Hyperf 提供的骨架包里都会有对应实现。 composer require hyperf/testi

    • 英文原文:http://emberjs.com/guides/testing/test-runners/ 当运行测试时,可以在很多种不同的方案里选取最适合工作流的方案。找到一种摩擦最低的运行测试的方案非常重要,因为测试是一项经常要做的事情。 浏览器 运行测试的最简单的方法是直接在浏览器中打开页面。下面将展示如何加入一个qunit的测试harness给应用,并可以针对其运行测试: 首先,从这里获取一

    • Zoom 笔试经验 自动化测试 题型: 25道选择+两道编程(各占50%) 主要考察点 选择:堆相关知识点,关系型数据库,测试相关的,操作系统(查看目录的命令),数据结构(二叉树)、图的时间复杂度空间复杂度、性能测试、对称加密非对称加密、子网网址等考的挺杂的但是都是基础的东西。 编程:一道有点像力扣的有效的括号的变形(个人看法),另一道记不太清了(没写出来) <本人代码水平比较差,仅代表个人意见,