JMETER 403上传文件但需要登录

问题描述 投票:0回答:2

所以我试图测试这个网站的文件上传功能:http://the-v.net/en/vtube/upload-video通过JMETER但要成功,用户必须通过以下形式登录:http://the-v.net/login,现在,我认为这是一个基于参数的身份验证,可以解决通过在HTTP Authorization Manager配置元素中定义有效的用户名和密码,但即使这样做,我仍然会收到此错误:

Thread Name: Thread Group 1-1
Sample Start: 2018-01-30 20:11:06 CST
Load time: 1373
Connect Time: 214
Latency: 1167
Size in bytes: 19151
Sent bytes:134
Headers size in bytes: 768
Body size in bytes: 18383
Sample Count: 1
Error Count: 1
Data type ("text"|"bin"|""): text
Response code: 403
Response message: Forbidden

Response headers:
HTTP/1.1 403 Forbidden
Date: Tue, 30 Jan 2018 12:11:06 GMT
Server: Apache/2.4.23 (Win64) PHP/5.6.25
X-Powered-By: PHP/5.6.25
X-Drupal-Cache: MISS
Expires: Sun, 19 Nov 1978 05:00:00 GMT
Cache-Control: public, max-age=900
X-Content-Type-Options: nosniff
Content-Language: en
X-Frame-Options: SAMEORIGIN
X-Generator: Drupal 7 (http://drupal.org)
Link: <http://the-v.net/en/vtube/warning>; rel="canonical",<http://the-v.net/en/vtube/warning>; rel="shortlink",<http://the-v.net/sites/all/themes/vtube17/favicon.png>; rel="shortcut icon"
Etag: "1517314266-0"
Last-Modified: Tue, 30 Jan 2018 12:11:06 GMT
Vary: Cookie,Accept-Encoding
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=utf-8


HTTPSampleResult fields:
ContentType: text/html; charset=utf-8
DataEncoding: utf-8

关于如何解决这个问题的任何想法?谢谢

jmeter
2个回答
0
投票

我建议你在浏览器中记录上传,然后在View Results Tree中查看传输的标题/ cookie。

您可以使用文件>模板。 >录音

读:

你很可能错过了:

  • 标题
  • 一块饼干
  • 一个参数

0
投票

您需要登录才能上传任何内容。 HTTP授权管理器无法提供帮助,因为它旨在处理协议级别身份验证,您需要基于cookie的身份验证。

  1. HTTP Cookie Manager添加到您的测试计划中
  2. 请注意在登录请求期间需要传递凭据的form_build_id动态参数 Drupal Form Build ID jmeter

所以你的测试计划应该是这样的:

  • 第一个HTTP请求 - 打开登录页面 Post-Processor(即CSS/JQuery Extractorform_build_id
  • 第二个HTTP请求 - 执行登录 - 提供上一步中的凭据和form_build_id。您还需要使用form_id的值传递MYFORM_form参数
  • 第三个HTTP请求 - 执行上传。
© www.soinside.com 2019 - 2024. All rights reserved.