我正在为一个基于Windows身份验证的应用程序创建性能测试。测试计划设计如下:
Test Plan
HTTP Cookie Manager
HTTP Authorization Manager
Thread Group
HTTP Request 1
HTTP Request 2
HTTP示例之一是文件上传场景。当我使用Chrome开发脚本时,我观察到当文件被上传时,一个名为Content-Type的请求头被发送到服务器。请求头类似于以下内容:
Content-Type = Multipart/form-data; boundary=----WebkitFormBoundaryxxxxxxxxxx
当我执行脚本时,我观察到JMeter生成的Content-Type类似于'multipart/form-data;边界= RCQkexJjLBScxK26S_Rtp513mi4RFrEK4C '。请注意边界部分。鉴于Chrome生成的Content-Type类似于multipart/form-data;边界=----WebKitFormBoundaryslyIHy3AHA6pym8K我不确定应该做什么,以便JMeter生成具有WebKitFormBoundary的边界。
只要你在多部分请求实体的多个部分使用相同的边界,边界内是什么并不重要
下面是RFC中的一个例子:
From: Nathaniel Borenstein <nsb@bellcore.com>
To: Ned Freed <ned@innosoft.com>
Subject: Sample message
MIME-Version: 1.0
Content-type: multipart/mixed; boundary="simple
boundary"
This is the preamble. It is to be ignored, though it
is a handy place for mail composers to include an
explanatory note to non-MIME compliant readers.
--simple boundary
This is implicitly typed plain ASCII text.
It does NOT end with a linebreak.
--simple boundary
Content-type: text/plain; charset=us-ascii
This is explicitly typed plain ASCII text.
It DOES end with a linebreak.
--simple boundary--
This is the epilogue. It is also to be ignored.
Chrome生成包含WebkitFormBoundary的边界,因为Chrome是建立在WebKit引擎上的,谷歌从苹果那里借用了这个引擎,而苹果反过来又从KHTML项目中借用了这个引擎
无论边界是什么,只要不超过70个字符,开头有破折号等等
你有两个选择:
- 设置你自己的自定义边界包含任何你想要使用HTTP头管理器。但在这种情况下,你必须在"body data"中手动构建请求正文。标签,使用定义的边界来分割请求部分,记住换行等等
- 或者直接勾选"Use multipart/form-data"在HTTP请求采样器中,并在"文件上传"中提供要上传的文件的完整或相对路径。选项卡- JMeter会处理剩下的。