3

我在使用 JMeter 代理记录文件上传请求时遇到问题。可以使用浏览选项选择文件,并在按下SAVESUBMIT按钮时页面刷新并进入初始状态。

我正在本地 SharePoint(v2013)网站上进行负载测试项目,条件如下,

  1. 基于表单的身份验证- 登录和会话 cookie 与 JMeter 一起正常工作。
  2. 需要传递一些动态变量,如 __EVENTVALIDATION__VIEWSTATE__REQUESTDIGEST__VIEWSTATEGENERATOR ,这些变量需要使用JMeter 中的 RegEx Extractor从每个请求中提取,并且需要作为参数传递给后续的 POST 请求。

作为一种解决方法,我使用BlazeMeter Chrome Extension来记录文件上传请求,并且可以正确记录所有 API 调用。但是在 JMeter 中重放它有问题。即使所有请求都通过,文件上传再次失败。

  1. 所有文件上传POST请求都通过成功响应代码200并提供与响应相同的 HTML 内容,同时在 JMeter 中重放它,但文件永远不会上传。
4

1 回答 1

1

如果您绝对确定您有HTTP Cookie 管理器相关性工作正常等,为了记录文件上传请求,将文件放入 JMeter 的“bin”文件夹就足够了,因此HTTP(S) 测试脚本记录器可以找到它。

确保文件在重放期间也存在于 JMeter 的“bin”文件夹中。查看Recording File Uploads with JMeter指南,了解更全面的限制说明。


如果它没有帮助您的 JMeter 配置仍然不正确。通常的做法是使用FiddlerWireshark等嗅探器工具从真实浏览器和 JMeter 捕获请求。这样,您将能够在低级别检查请求并识别差异。一旦找到原因 - 修改 JMeter 配置,使来自 JMeter 的请求看起来与来自浏览器的请求完全相同。

于 2017-09-25T05:35:25.617 回答