如何从空手道中的 api 端点获取下载的 xlsx 文件?

2023-12-26

我有一个下载 xlsx 文件的端点。在我的测试中,我需要检查文件的内容(不是将文件与另一个文件进行比较,而是读取内容并检查)。我正在使用空手道框架进行测试,并尝试使用 apache POI 来处理 Excel 工作表。但是,调用下载端点时我从空手道得到的响应是一个字符串。为了使用 POI 创建 Excel 文件,我需要一个 InputStream 或实际文件的路径。我已经尝试过转换,但不起作用。

我想我在这里缺少一些联系,或者转换可能很糟糕,我对空手道和整个事情都是新手。 我感谢任何帮助,谢谢!

 Given url baseUrl
    Given path downloadURI
     When method GET
     Then status 200
    And match header Content-disposition contains 'attachment'
    And match header Content-disposition contains 'example.xlsx'
    And match header Content-Type == 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'

        * def value= FileChecker.createExcelFile(response)
        * print value

以及Java代码:

public static String createExcelFile(String excel) throws IOException, InvalidFormatException {
        InputStream stream = IOUtils.toInputStream(excel, Charset.forName("UTF-8"));
        Workbook workbook = WorkbookFactory.create(stream);
        return ("Workbook has " + workbook.getNumberOfSheets() + " Sheets : ");
    }

运行场景时,我收到以下错误:javascript evaluation failed: FileChecker.createExcelFile(response), java.io.IOException: Failed to read zip entry source

在 Postman 中测试相同的端点时,我得到了一个有效的 Excel 工作表。


在空手道 0.9.X 中,您有responseBytes https://github.com/intuit/karate#responsebytes变量将是原始字节,这可能是您所需要的。

* def value = FileChecker.createExcelFile(responseBytes)

您可以将方法签名更改为:

public static String createExcelFile(byte[] excel) {}

您应该能够轻松地将字节数组转换为InputStream并从那里拿走它。

附:只是说它“在 Postman 中工作”是没有帮助的:P

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从空手道中的 api 端点获取下载的 xlsx 文件? 的相关文章

  • httrack wget 卷曲抓取和获取

    互联网上有许多工具可用于下载网站的静态副本 例如 HTTrack 还有许多工具 其中一些是商业工具 用于从网站 抓取 内容 例如 Mozenda 还有一些显然内置于 PHP 和 nix 等程序中的工具 您可以在其中 file get con
  • 如何在Android应用程序中读取xlsx文件?

    我知道 stackoverflow 上有很多相同的问题 但似乎我看不到任何可能的解决方案来读取 xlsx 的内容 我尝试过的 我尝试将整个 Apache POI 库放入 Android 应用程序中 并尝试读取 xlsx 文件 然而 问题是
  • FileOutputStream (Apache POI) 保存时间过长

    当我使用 Apache poi 编辑 xlsx 文件时 保存时间太长 xlsx 文件包含公式格式设置和冻结窗格 我正在使用以下代码 try FileInputStream file new FileInputStream new File
  • 通过 OpenXml SDK 的 XLSX 文件有效和无效

    我有一个程序将 System Data DataTable 导出到 XLSX OpenXml 电子表格 最后让它大部分工作 但是 当在 Excel 中打开电子表格时 Excel 抱怨文件无效 需要修复 并给出此消息 我们发现 中的某些内容存
  • 如何使用 API 路由在 Next.js 上下载文件

    我正在使用 next js 我有一个第三方服务 我需要从中检索 PDF 文件 该服务需要一个 API 密钥 我不想在客户端公开该密钥 这是我的文件 api getPDFFile js const options method GET enc
  • 使用 R 将 Excel (.xlsx) 工作表打印/保存为 PDF

    我想打印一个Excel文件到一个pdf操作后的文件 对于操作 我使用了 xlsx包工作正常 有一个功能printSetup但我找不到启动打印的功能 有解决办法吗 library xlsx file lt test xlsx wb lt lo
  • php:将变量内容下载为文件

    题主可以吗 我有一个正在执行的脚本 有一次 我在变量中有一大段文本 我可以将其作为可下载文件提供 而不实际将变量内容写入磁盘吗 如果您的意思是让用户单击链接并弹出一个对话框以将某些内容保存为文本文件
  • 我们有什么理由不使用 UIImageView 的子类吗?

    我目前正在尝试创建 UIImageView 的子类 以便使其从服务器异步下载图像 我尝试自己做 但还没有走得太远 D 不管怎样 我环顾四周 发现了这个 异步图像下载 http www markj net iphone asynchronou
  • 如何防止`ssconvert`在转换之前重新计算Excel文件?

    我正在尝试转换 xlsx 文件http www eia gov forecasts steo archives mar14 base xlsx http www eia gov forecasts steo archives mar14 b
  • gradle - 从 url 下载并解压文件

    从 url 下载和解压文件的正确 gradle 方法是什么 http 如果可能的话 我想防止每次运行任务时重新下载 在ant get可以通过以下方式实现skipexisting true 我当前的解决方案是 task foo ant get
  • 我可以下载并安装 gacutil.exe 而无需安装 VS 或 SDK 吗?

    我希望管理员为我注册一些 DLL 但他可能不希望安装整个 SDK 他可以直接安装吗gacutil exe 如果有的话 他可以从哪里得到呢 我只需发送电子邮件至gacutil exe文件给他 他必须把它放在他的机器上哪里才能使用 我通过复制让
  • 如何用PHP制作下载链接? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我可以使用 sql 在数据库中上传文
  • 如何将 xlsx 文件转换为 csv?

    目前我正在使用下面的代码使用 Java 将 XLSX 文件转换为 CSV 我需要一个更快的解决方案 因为这太慢了 public class Test1 static void convert File inputFile File outp
  • 如何使用 Javascript 从 Chrome iOS 下载 blob 文件?

    如何使用 Javascript 从 Chrome iOS 下载 blob 文件 我正在从 iOS 下载文件 pdf excel txt png iOS 没有文件系统 这对下载来说是一个问题 我创建了一个代码 根据操作系统和导航器 如果需要
  • 通过 PHP 检测 excel .xlsx 文件 mimetype

    我无法通过 PHP 检测 xlsx Excel 文件的 mimetype 因为它是 zip 存档 文件实用程序 file file xlsx file xlsx Zip archive data at least v2 0 to extra
  • 空手道 - 使用 Javascript 从 元素获取 URL

    使用空手道 我需要从标签 href 中提取 url 我直接在浏览器中使用 Javascript 尝试过 document querySelector a rel noopener href 它在浏览器中工作正常 我收到完整的 url 地址
  • Magento补丁安装失败

    从以下位置下载并运行 Magento PHP 5 4 支持补丁 Magento CE v1 7 0 0 1 7 0 2 时http www magentocommerce com download http www magentocomme
  • 在空手道 DSL 功能文件中使用模拟并独立运行

    我有 REST 服务 用不同于 Java 的语言编写 它与其他 REST 服务几乎没有依赖关系 例如正在开发和测试的服务是A 其他服务分别是B and C 我想运行系统测试A 一些测试需要B or and C在线并执行查询A 我编写了 b
  • 如何从任何网站下载视频

    我只是想知道如何从任何网站下载视频的总体思路 我尝试的事情 我检查页面 在视频属性标记中看到 blob URL 将 blob URL 复制粘贴到浏览器中 但无法打开 I also look around the Developer tool
  • 如何在 PowerShell 中从网络下载整个文件夹的文件/子文件夹

    我可以使用以下命令从网络下载单个文件 wc New Object System Net WebClient wc DownloadFile http blah root somefile ext C Downloads www blah r

随机推荐

  • Kafka - 代理:消息大小太大

    I get Message size too large当我尝试发送超过 1 Mb 大小的消息时出现异常 当我尝试生成消息时 该错误出现在我的客户端应用程序中 经过一番谷歌搜索后 我发现应该更改设置以增加最大消息大小 嗯 我在 kafka
  • Popover segue 到静态单元 UITableView 导致编译错误

    我目前有一个带有两个视图控制器的应用程序 第一个是具有嵌入式表视图的视图控制器 该表视图具有动态单元格 第二个是带有静态单元格的表视图控制器 如果我通过选择动态表的单元格之一将 Segue 添加到静态表视图控制器 使用 Push 或 Mod
  • 在 Netbeans 中更快地搜索文件

    是否有现有的插件或调整可以加速 Netbeans 中的 转到文件 搜索 与 Eclipse 相比 Netbeans 搜索速度太慢 特别是如果有多个大型项目 I know I can use CTRL O for Go To Type but
  • fopen什么时候会失败?

    在我的 PHP 代码中 我打开一个文件并向其中附加文本 我使用这段代码 ourFileHandle fopen ourFileName a or die can t open file 当加载 PHP 页面时会发生这种情况 现在如果两个人同
  • 如何从程序中删除日志调试语句

    我在用boost log作为我的 C 程序的记录器 在开发过程中我经常这样使用它 例如 define LOG severity BOOST LOG SEV boost logger get severity define LOG ERR L
  • 学习嵌入式编程的最佳平台? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 我可以在生产中使用 IOSurface 框架录制屏幕吗

    如果我使用 IOSurface 框架制作我的应用程序的视频 苹果会拒绝我的应用程序吗 是的 如果您链 接 IOSurface Apple 将拒绝您的应用程序 商店中的一些项目正在使用它 但他们可能会在运行时加载它 iOS 应用 Displa
  • Swift 2 将 Json 解析为数组的可选

    我正在从网络服务获取国家 地区列表 收到后我用这段代码来处理它 if let json try NSJSONSerialization JSONObjectWithData data options as NSDictionary trig
  • 在 AWS Step Functions 中,可以使用静态字符串格式化参数值吗?

    在 AWS Step Functions 中 我们可以使用以下语法将之前步骤中的参数用作输入 Parameters Details weight product weight unit grams 举个例子 说product weight
  • Swift 中的 PerformSelector 的替代品?

    The performSelector方法族在 Swift 中不可用 https developer apple com library prerelease ios documentation swift conceptual build
  • SQLSTATE[HY000]:一般错误:Laravel 发生 2053 错误

    首先 我的环境是LAMP M代表MariaDB 整个错误是 SQLSTATE HY000 General error 2053 SQL UPDATE Demos SET Hit ifnull Hit 0 1 WHERE id 27 模型中的
  • 以与 SSISDB 不同的用户身份执行 SSIS 包

    我们要求用户使用代理帐户并引用输入参数来执行 SSIS 包 下面演示了用于调用包执行的语法 DECLARE ExportID INT 1 DECLARE ExecutionID INT EXECUTE AS proxy account EX
  • 如何将我的 MAUI 应用连接到 Firestore 数据库? (通过服务帐户 json 文件)

    创建一个 MAUI 应用程序并尝试将其连接到 Firestore 我正在跟进这里的建议 https cloud google com dotnet docs reference Google Cloud Firestore latest下载
  • Spring集成测试启动缓慢。原因?无法禁用 RabbitMQ

    我在启动集成测试时遇到性能问题 我正在尝试模拟系统的消息传递 为此 我基本上使用 MockBean在我的网关上并使用 EnableAutoConfiguration exclude RabbitAutoConfiguration class
  • Discord.py 按钮响应交互在一段时间后失败

    我有一个非常基本的脚本 它会弹出一条消息 其中包含带有命令 place 的按钮 单击此按钮后 机器人会向单击它的用户回复 嗨 如果按钮没有交互超过大约 3 分钟 它就会开始返回 交互失败 之后按钮就变得毫无用处 我假设有某种内部超时 我在文
  • 数组索引越界 - Java

    我已经开始编写我的第一个 Java 程序 这是一个简单的计算器 但是我收到一条错误消息 声称我的数组超出范围 我尝试对其进行调试 以了解出现这种情况的位置和原因 并按照纸上的代码进行操作 这两者都显示了我期望和希望的结果 因此 我看不出问题
  • 通过定义者角色权限在PL/SQL过程中执行动态DDL

    我想在管理员用户拥有的过程中执行一些动态 DDL 我想使用具有定义者权限的技术操作用户执行此过程 操作用户没有创建表角色 问题是 创建表 权限是通过使用角色授予管理员用户的 这不允许我执行 DDL 因为角色似乎不计入命名的 pl sql 块
  • mod_rewrite:如何重定向 HTTP DELETE 和 PUT

    我尝试使用 mod rewrite 在 php 中编写一些 REST API 我的问题是 如何处理 HTTP DELETE 和 PUT 例如 网址为 书 1234 其中 1234 是一本书的唯一 ID 我想将此 id 1234 重定向 到
  • 使用 Filehelpers 处理 DelimitedRecord 中的 NEWLINE

    我使用优秀的 FileHelpers 库来解析许多不同的文件 其中一个文件的 一些 行看起来像这样 id name comments date 01 edov bla bla bla bla 2012 01 01 02 john bla b
  • 如何从空手道中的 api 端点获取下载的 xlsx 文件?

    我有一个下载 xlsx 文件的端点 在我的测试中 我需要检查文件的内容 不是将文件与另一个文件进行比较 而是读取内容并检查 我正在使用空手道框架进行测试 并尝试使用 apache POI 来处理 Excel 工作表 但是 调用下载端点时我从