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