一、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 |