1、HTTP请求默认值介绍
我们在JMeter中编辑测试计划时,如果有多个Sampler
(取样器)请求中,参数和设置都是相同的,例如请求服务的IP地址、协议、端口号等,这些信息重复的配置在每个Sampler
中,就会增加重复工作量和冗余度,如果以后项目服务器地址发生改变,修改起来也是非常麻烦的。
HTTP请求默认值(Http Request Defaults
)这个配置元件,可以将这些重复的配置都放在一起,其他的Sampler
请求元件就不需要再配置这些重复的内容,那么只要将这些信息留空,这个字段将自动继承HTTP请求默认值组件中的值,达到了一次配置重复调用的效果。
2、HTTP请求默认值界面
配置元件中的HTTP请求默认值(HTTP Request Defaults
)界面,和取样器中HTTP请求(HTTP Request
)基本相同。
添加HTTP请求默认值组件:选中“线程组”右键 —> 添加 —> 配置元件 —> HTTP请求默认值
。
界面如下图所示:
示:因为HTTP请求默认值组件的界面和HTTP请求组件的界面基本相同,所以在这里就不进行说明了。如果想查看HTTP请求默认值组件界面的详细说
3、HTTP请求默认值的使用
(1)用于演示的项目说明
Httpbin
是一个使用Python + Flask
编写的HTTP Request & Response Service
项目,该服务主要用于测试 HTTP库,你可以向他发送请求,然后他会按照指定的规则将你的请求返回(查看你所发送请求中的信息)。
Httpbin
支持HTTP/HTTPS
请求,支持所有的HTTP动词,能测试HTTP请求和响应的各种信息,比如 cookie
、ip
、headers
和登录验证等。
Httpbin
接口地址:httpbin.org
提示:按照规则请求
http://httpbin.org/
,会返回发送请求报文的完整内容。有详细说明。
(2)测试计划内包含的元件
添加元件操作步骤:
- 创建测试计划。
- 创建线程组:
选中“测试计划”右键 —> 添加 —> 线程(用户) —> 线程组
。 - 在线程组中,添加配置元件"HTTP请求默认值"组件:
选中“线程组”右键 —> 添加 —> 配置元件 —> HTTP请求默认值
。 - 在线程组里面,添加取样器“HTTP请求”组件:
选中“线程组”右键 —> 添加 —> 取样器 —> HTTP请求
。 - 在线程组里面,添加监听器“察看结果树”组件:查看结果,
选中“线程组”右键 —> 添加 —> 监听器 —> 察看结果树
。
最终测试计划中的元件如下:
点击运行按钮,会提示你先保存该脚本,脚本保存完成后会直接自动运行该脚本。
(3)说明HTTP请求默认值用法
我们需要把每个请求的公共参数,提取到HTTP请求默认值组件中。
如下图所示:
然后在每个请求的元件中,编辑自己独有的信息即可。
例如,编写每个请求中独有的访问路径,和所需的传递参数等。
如下图所示:
而在HTTP请求默认值组件中配置的参数,在这里都不用重复填写,留空就可以,会自动的继承HTTP请求默认值组件中的配置。
如果此时请求取样器中填写了和HTTP请求默认值组件中配置相同的选项,则以当前取样器的配置为准。
(其他请求同理)
4、总结
配置元件中的HTTP请求默认值(HTTP Request Defaults
)界面,和取样器中HTTP请求(HTTP Request
)基本相同,所以该组件可以为HTTP请求设置默认值。
优先级说明:
- JMeter支持在一个测试计划中添加多个HTTP请求默认值组件,多个HTTP请求默认值组件中的值会合并叠加。
- 在相同作用域内,若有多个HTTP请求默认值组件,如果配置了相同的选项,默认使用第一个HTTP请求默认值组件中定义的信息。
5、拓展知识
这里我们拓展一下配置元件中用户定义的变量(User Defined Variables
)组件的用法。
用户定义的变量组件和HTTP请求默认值组件的用法基本一样。
- HTTP请求默认值组件:管理测试计划中相同的请求配置,作用域范围内的
sample
请求无需重复配置。 - 用户定义的变量组件:管理测试计划中不相同的请求配置,其他的
Sample
请求直接引用变量即可,方便对变量的统一管理。