【问题标题】:How to download a file in Jmeter with just the original file content?如何在 Jmeter 中下载仅包含原始文件内容的文件?
【发布时间】:2017-02-28 14:33:04
【问题描述】:

我正在使用 Jmeter 和 JSON 对 REST API 进行功能测试。我有文件上传工作,但我似乎无法让文件下载在 jmeter 中工作。我正在保存这篇文章中提到的回复:JMeter - File upload and file download scenario

当我这样做时,我正在接近但并不完全是我需要的。这是我得到的示例:

--0rVAdzesdQq7VrwJaRoYGm_UHdMD5nhi9_5w4u
Content-Disposition: form-data; name="api-test"; filename="LIBFILE1.txt"
Content-Type: text/plain
Content-Transfer-Encoding: binary

Library File for Automated Smoke Test

This file is used to test file library upload for automated smoke tests.
--0rVAdzesdQq7VrwJaRoYGm_UHdMD5nhi9_5w4u--

我怎样才能让下载只保存文件内容?在这个例子中,它应该只是:

Library File for Automated Smoke Test

This file is used to test file library upload for automated smoke tests.

这是一个简单的文本文件。我还想下载我正在上传的其他格式,包括 jpg、png、docx、pdf,但如果它附带了这些额外的数据,那就不对了。我想一旦我得到一个简单的文本文件,它将帮助我得到更难的文件类型。

【问题讨论】:

    标签: json jmeter download


    【解决方案1】:

    好吧,Save Responses to a file 侦听器将存储您可以在View Results Tree 侦听器的“响应数据”选项卡中观察到的数据。如果您将这些Content-TypeContent-Disposition 等标头视为响应数据 - 很可能您的上传不成功,因为您不应该以这种方式获取标头。

    我建议仔细检查通过浏览器或Postman 工具执行的相同请求是否返回相同的响应,并修复您的 JMeter 脚本以防出现差异。

    有关如何使用 JMeter 正确模拟文件操作的详细信息,请参阅 Performance Testing: Upload and Download Scenarios with Apache JMeter 文章。


    将响应数据保存到文件中的另一种方法是使用JSR223 Listener,如果您在语言下拉列表中选择“groovy”,您应该能够使用以下简单脚本保存响应:

    new File("/path/to/your/file.txt").setBytes(prev.getResponseData())
    

    【讨论】:

    • 谢谢,这有帮助。你是对的。我必须在没有设置任何 MIME 类型的情况下上传它,现在我可以在没有额外内容的情况下下载它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-07
    • 2022-11-11
    • 2015-02-20
    • 2020-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多