使用JMeter上传文件时无法生成包含WebkitFormBoundaryxxxxxxxxxx的Content-Type



我正在为一个基于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个字符,开头有破折号等等

你有两个选择:

  1. 设置你自己的自定义边界包含任何你想要使用HTTP头管理器。但在这种情况下,你必须在"body data"中手动构建请求正文。标签,使用定义的边界来分割请求部分,记住换行等等
  2. 或者直接勾选"Use multipart/form-data"在HTTP请求采样器中,并在"文件上传"中提供要上传的文件的完整或相对路径。选项卡- JMeter会处理剩下的。

相关内容

  • 没有找到相关文章

最新更新