Jmeter之HTTP Request Defaults

 一、HTTP Request Defaults的作用:

  该组件可以为我们的http请求设置默认的值。假如,我们创建一个测试计划有很多个请求且都是发送到相同的server,这时我们只需添加一个Http request defaults组件并设置“Server Name or IP”,然后添加多个http请求且不设置"server name or ip",这些http请求会默认使用Http request defaults组件设置的值。

 参数列表:

Attribute Description Required
Name
组件名 No
Server
域名或IP No
Port 端口 No
Connect Timeout 连接超时时间(单位毫秒) No
Response Timeout 响应超时时间(单位毫秒) No
Implementation 实现方式,默认值为Jmeter属性:jemter.httpsampler No
Protocol 协议,HTTP or HTTPS No
Method 请求方法:HTTP GET or HTTP POST No
Path 请求资源路径 No
Send Parameters With the Request 参数列表 No
Server (proxy) 代理服务器的域名或IP No
Port 代理服务器的端口 No, unless proxy hostname is specified
Username 代理服务器的用户名 No
Password 代理服务器的密码 No
Retrieve All Embedded Resources from HTML Files 告诉Jmeter解析HTML文件并发送所有资源请求(包括图片,java小程序,JS,CSS等) No
Use concurrent pool 用一个连接池来获取嵌入的资源 No
Size 用于获取嵌入式资源的并发连接池大小 No
Embedded URLs must match: URL匹配,过滤 No

 

二、特别注意:

   在Jmeter之Http Cookie Manager这里我们说过,一个测试计划最好只有一个Manager组件,因为Jmeter无法处理多个Manager的情况。但在一个测试计划中可以有多个Defaults组件,多个Defaults组件的默认值会叠加。

 例子:

  如下,定义了两个HTTP Request Defaults组件,一个Http sampler(one什么也不填写),一个View Resuls Tree:

HTTP Request Defaults1:Server Name or IP: www.baidu.com,一个参数:aaa=111

 

HTTP Request Defaults2:Server Name or IP: www.qq.com,两个参数:bbb=22,aaa=333

运行结果:

 

 

总结:

1、一个测试计划中可以有多个Defaults组件,多个Defaults组件的默认值会叠加,如上图,虽然两个Defaults 组件都定义了参数aaa,但发出的请求还是会叠加起来。

2、两个default中都定义的"Server Name or IP",显示在发送请求时只能使用一个,这里使用的是第一个default定义的值www.baidu.com

 

 

 

 

官方文档:

http://jmeter.apache.org/usermanual/component_reference.html#HTTP_Request_Defaults

posted @ 2015-10-03 13:53  贺满  阅读(22477)  评论(0编辑  收藏  举报