JMeter与内容配置

JMeter与内容配置,jmeter,Jmeter,我正试图用JMeter模拟POST进行压力测试 “标准”POST(通过浏览器或curl完成)如下所示: POST /foo/boo HTTP/1.1 User-Agent: curl/7.35.0 Host: localhost:4000 Accept: */* Content-Length: 8376 Content-Type: multipart/form-data; boundary=------------------------9dec6d453f478def -----------

我正试图用
JMeter
模拟
POST
进行压力测试

“标准”
POST
(通过浏览器或
curl
完成)如下所示:

POST /foo/boo HTTP/1.1
User-Agent: curl/7.35.0
Host: localhost:4000
Accept: */*
Content-Length: 8376
Content-Type: multipart/form-data; boundary=------------------------9dec6d453f478def

--------------------------9dec6d453f478def
Content-Disposition: form-data; name="filedata"; filename="plan.jmx"
Content-Type: application/octet-stream
....
      <elementProp name="HTTPsampler.Files" elementType="HTTPFileArgs">
        <collectionProp name="HTTPFileArgs.files">
          <elementProp name="/Users/alexey/Work/all-attacks.zip" elementType="HTTPFileArg">
            <stringProp name="File.path">plan.jmx</stringProp>
            <stringProp name="File.paramname">filedata</stringProp>
            <stringProp name="File.mimetype"></stringProp>
          </elementProp>
        </collectionProp>
      </elementProp>
但是
jmeter
之后的请求缺少
内容处置
部分的
文件名
属性:

POST /feedback/1.0/attack/ HTTP/1.1
Connection: keep-alive
Content-Length: 8331
Content-Type: multipart/form-data; boundary=qO2U87_27QtEGliQMv6ZGjIe6PnfEh1TX-RHAhJ
Host: localhost:4000
User-Agent: Apache-HttpClient/4.3.3 (java 1.5)

--qO2U87_27QtEGliQMv6ZGjIe6PnfEh1TX-RHAhJ
Content-Disposition: form-data; name="filedata"
....
我查看了XML,jmeter的配置如下所示:

POST /foo/boo HTTP/1.1
User-Agent: curl/7.35.0
Host: localhost:4000
Accept: */*
Content-Length: 8376
Content-Type: multipart/form-data; boundary=------------------------9dec6d453f478def

--------------------------9dec6d453f478def
Content-Disposition: form-data; name="filedata"; filename="plan.jmx"
Content-Type: application/octet-stream
....
      <elementProp name="HTTPsampler.Files" elementType="HTTPFileArgs">
        <collectionProp name="HTTPFileArgs.files">
          <elementProp name="/Users/alexey/Work/all-attacks.zip" elementType="HTTPFileArg">
            <stringProp name="File.path">plan.jmx</stringProp>
            <stringProp name="File.paramname">filedata</stringProp>
            <stringProp name="File.mimetype"></stringProp>
          </elementProp>
        </collectionProp>
      </elementProp>

plan.jmx
文件数据

当使用
jmeter
时,如何指定
Content Disposition
filename
属性?

如果要将任何头添加到请求中,则可以通过将这些值传递到Http头管理器来添加(它将是Http请求的子元素)

内容配置:表单数据;name=“filedata”;filename=“plan.jmx”

这里,在头管理器的名称字段中传递
内容配置
,在值字段中传递其余内容(无需传递
)。它将在您的请求中添加此标题


另外,在执行来自Jmeter的请求时,您是否得到了正确的响应?如果没有,请尝试将Http请求的实现更改为Java,它应该非常简单:

  • 选中“为POST使用多部分/表单数据”
  • 提供文件的完整路径和
    filedata
    作为“参数名”

    • HTTP请求

    • 查看结果树侦听器输出


  • 有关如何在JMeter测试中模拟文件操作的全面信息,请参阅指南

    结果是我使用的是
    jmeter
    安装在
    apt-get
    上的
    ubuntu-LTE
    。那个版本很旧,大概有问题

    jmeter
    网站下载的最新版本没有此问题,并且报告的
    filename
    正确