【问题标题】:File upload issue in JmeterJmeter中的文件上传问题
【发布时间】:2021-02-12 17:47:04
【问题描述】:

我们有两个文件上传 api。一种用于上传简历,另一种用于上传个人资料图片。 上传简历 api 以一个文件为参数。我试过下面的代码。

------WebKitFormBoundaryPTjnjok43Hg6SN0w
Content-Disposition: form-data; name="file"; filename="sample.pdf"
Content-Type: application/pdf
Content-Transfer-Encoding: binary

${__FileToString(${P_ResumeFileLocation},,)}

------WebKitFormBoundaryPTjnjok43Hg6SN0w--

API 正在通过。但是,如果我下载上传的文件,它不会显示任何数据。 后来我尝试了 multipart/form-data 选项,并在文件上传选项卡中给出了文件位置。 API 正在通过,下载后我可以正确查看数据。

我也继续尝试上传图片 api。这个api需要传递file、width和height参数。 我在参数选项卡中创建了两个参数,并将文件详细信息放在文件上传选项卡中。 API 说方法无效。实际上 API 将文件作为第一个参数,然后将宽度、高度作为参数。在 jmeter 请求选项卡中,我可以看到文件终于通过了。

我也试过下面的代码:

------WebKitFormBoundaryRo2HSZXcGbDUiLyU
Content-Disposition: form-data; name="file"; filename="samplepicture.jpg"
Content-Type: image/jpeg
Content-Transfer-Encoding: binary

${__FileToString(${P_ProfileImageLocation},,)}
------WebKitFormBoundaryRo2HSZXcGbDUiLyU
Content-Disposition: form-data; name="width"

1000
------WebKitFormBoundaryRo2HSZXcGbDUiLyU
Content-Disposition: form-data; name="height"

1000
------WebKitFormBoundaryRo2HSZXcGbDUiLyU--

API 正在通过,但我下载它时看不到正确的图像。

我使用 fiddler 记录了流程。而且我可以在fiddler中成功重新发出api请求,下载后可以正常查看图像。我尝试从提琴手请求中复制原始数据,但没有运气

我需要使用 jmeter 对这两个 api 进行性能测试。请让我知道我在哪里犯了错误。

【问题讨论】:

    标签: jmeter jmeter-5.0


    【解决方案1】:

    如果您可以“使用 fiddler 记录流”,您应该能够使用 JMeter“记录流”,它足够聪明,可以通过捕获来自浏览器的请求来生成相关的HTTP Request 采样器和HTTP Header Manager

    请确保在录制过程中将图片复制到 JMeter 安装的“bin”文件夹中,否则会失败,请参阅Recording File Uploads with JMeter 了解更多详细信息。

    附:来自 Fiddler 的“原始”流量可以使用 HTTP Raw Request 采样器重放

    【讨论】:

    • 我已经使用 blazemeter 记录了请求。它失败了。
    猜你喜欢
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-29
    • 1970-01-01
    • 2020-12-27
    • 2010-10-17
    相关资源
    最近更新 更多