1

我在 JMeter 中模拟 Http 请求时遇到问题。

基本任务是让 JMeter 模拟在 firefox 中发出的请求,然后将其用作性能测试的基础。但是,我在让 JMeter 包含后标题正文时遇到问题。

使用 fiddler,我记录了来自 firefox 的请求,看起来像这样。

POST http://*****:8001/XMLServlet?action=send HTTP/1.1
Host: *****
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://*****:8001/XMLServlet
Cookie: JSESSIONID=YpvCQGvFWshb6yyNsZvWZzHLLknNMpXRJ36vR7p0jxSp41Q3zlbj!-409403047
Content-Type: multipart/form-data; boundary=---------------------------491299511942
Content-Length: 3125
-----------------------------491299511942
Content-Disposition: form-data; name="find"; filename="2010100010427.XML"
Content-Type: text/xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE DDT PUBLIC "*****" "*****">
<Some XML file/>
-----------------------------491299511942
Content-Disposition: form-data; name="submit"

Send
-----------------------------491299511942--

我在 JMeter 中提出了一个登录请求,它工作正常,但实际帖子的行为与预期不符。

我正在使用“发送带有请求的文件”选项来发送文件,我选择了 POST 方法,并在 Post Body(raw) 中添加了

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Host: *****
Connection: keep-alive
Referer: http://*****:8001/XMLServlet

我希望这将包含在最终请求中,但是当我在执行 fiddler 后查看 fiddler 时,结果如下:

POST http://*****:8001/XMLServlet?action=send HTTP/1.1
Connection: keep-alive
Cookie: JSESSIONID=LdyTQGsGzg0bSvbTKhF3grPhBYTKnY2TJ3CzLdB3Fwp8K7r2z2zN!-409403047
Content-Length: 2034
Content-Type: multipart/form-data; boundary=_bm2tmf-3Nv071ZvyhFKaWOc4RixWE_dNyLk
Host: *****:8001
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.2.1 (java 1.5)

--_bm2tmf-3Nv071ZvyhFKaWOc4RixWE_dNyLk
Content-Disposition: form-data; name="find"; filename="2010100000484.XML"
Content-Type: text/xml
Content-Transfer-Encoding: binary

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE DDT PUBLIC "*****" "http://*****/sad.dtd">
<Some XML file/>

--_bm2tmf-3Nv071ZvyhFKaWOc4RixWE_dNyLk--

为什么 JMeter 忽略 Post Body?更重要的是:我该如何解决?

4

1 回答 1

4

您添加到 POST 正文的是 HTTP 标头,而不是正文。无法在 HTTP 请求采样器中设置标头。要发送它们,您应该添加带有所有这些标头的HTTP 标头管理器。

于 2012-12-11T09:23:44.270 回答