0

我被困在 Jmeter 脚本的非常关键的连接点上,我需要在 Azure 存储上上传一个文件和一个微服务来分析 blob 数据以进一步处理,但它会寻找一定的大小,例如 8081920 字节。我成功地能够在 Azure 存储上上传相同大小的文件,但服务返回大小不匹配。

如果我使用 Postman 上传相同的文件,则服务能够成功处理图像。以下是邮递员请求标头

x-ms-blob-type: BlockBlob Content-Type: image/raw User-Agent: PostmanRuntime/7.26.10 Accept: / Postman-Token: b9384ac9-7fbe-4ab8-834b-aef0d8114588 Host: xxxxxxx.blob.xxxxxx.windows .net Accept-Encoding: gzip, deflate, br Connection: keep-alive Content-Length: 8081920

Jmeter 请求头:连接:keep-alive 内容类型:image/raw 接受编码:gzip、deflate、br 接受:/ x-ms-blob-type:BlockBlob 内容长度:8082155 主机:xxxxxxx.blob.xxxxxx。 windows.net 用户代理:PostmanRuntime/7.26.10

知道如何从 jmeter 发送额外的 235 字节但 Postman 没有解决此问题。

谢谢, 阿克沙特

4

1 回答 1

0

两种工具都会自动计算Content-Length标头,如下所示:

sum of request headers (bytes) + request body (bytes)

鉴于您没有提供我们无法说明不一致之处的正文,据我所知,邮递员发送Postman-Token而 JMeter 没有发送,因此 JMeter 的 Content-Length 应该更小

在多部分文件上传的情况下,差异可能是由不同的边界引起的,但它不应该对图像处理产生任何影响。

在任何情况下,您都可以使用 Postman 成功上传文件,而无法使用 JMeter 执行此操作 - 您可以使用 JMeter 的HTTP(S) 测试脚本记录器记录来自 Postman 的请求- 这样您就可以确信请求是完全正确的相同。只需确保将您上传的文件复制到 JMeter 安装的“bin”文件夹中,这样 JMeter 就能够正确捕获请求。

更多信息:如何将 Postman API 测试转换为 JMeter 以进行缩放

于 2021-03-23T19:03:31.800 回答