首页 文章

使用JMeter代理记录和负载测试的SharePoint网站中的文件上载请求失败

提问于
浏览
3

我有使用JMeter Proxy记录文件上传请求的问题 . 可以使用浏览选项选择文件,按下 SAVESUBMIT 按钮,页面将刷新并进入初始状态 .

我正在使用以下条件在 On-Premise SharePoint(v2013) Website 上进行负载测试项目,

  • 基于表单的身份验证 - 登录和会话cookie与JMeter一起正常运行 .

  • 需要传递一些动态变量,如 __EVENTVALIDATION__VIEWSTATE__REQUESTDIGEST__VIEWSTATEGENERATOR ,需要使用 RegEx Extractor in JMeter 从每个请求中提取,并需要作为参数传递给后续的POST请求 .

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

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

1 回答

  • 1

    如果你是 absolutely 确定你有HTTP Cookie Managercorrelation 工作正常,等等,以便记录文件上传请求,它应该足以将文件放到JMeter的"bin"文件夹,以便HTTP(S) Test Script Recorder找到它 .

    确保在重放期间文件存在于JMeter的"bin"文件夹中 . 查看Recording File Uploads with JMeter指南以获得更全面的限制说明 .


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

相关问题