1、HTTP请求默认值介绍

我们在JMeter中编辑测试计划时,如果有多个Sampler(取样器)请求中,参数和设置都是相同的,例如请求服务的IP地址、协议、端口号等,这些信息重复的配置在每个Sampler中,就会增加重复工作量和冗余度,如果以后项目服务器地址发生改变,修改起来也是非常麻烦的。

HTTP请求默认值(Http Request Defaults)这个配置元件,可以将这些重复的配置都放在一起,其他的Sampler请求元件就不需要再配置这些重复的内容,那么只要将这些信息留空,这个字段将自动继承HTTP请求默认值组件中的值,达到了一次配置重复调用的效果。

2、HTTP请求默认值界面

配置元件中的HTTP请求默认值HTTP Request Defaults)界面,和取样器中HTTP请求(HTTP Request)基本相同。

添加HTTP请求默认值组件:选中“线程组”右键 —> 添加 —> 配置元件 —> HTTP请求默认值

界面如下图所示:

『动善时』JMeter基础 — 17、JMeter配置元件【HTTP请求默认值】-LMLPHP

3、HTTP请求默认值的使用

(1)用于演示的项目说明

Httpbin是一个使用Python + Flask编写的HTTP Request & Response Service项目,该服务主要用于测试 HTTP库,你可以向他发送请求,然后他会按照指定的规则将你的请求返回(查看你所发送请求中的信息)。

Httpbin支持HTTP/HTTPS请求,支持所有的HTTP动词,能测试HTTP请求和响应的各种信息,比如 cookieipheaders 和登录验证等。

Httpbin接口地址:http://httpbin.org/

(2)测试计划内包含的元件

添加元件操作步骤

  1. 创建测试计划。
  2. 创建线程组:选中“测试计划”右键 —> 添加 —> 线程(用户) —> 线程组
  3. 在线程组中,添加配置元件"HTTP请求默认值"组件:选中“线程组”右键 —> 添加 —> 配置元件 —> HTTP请求默认值
  4. 在线程组里面,添加取样器“HTTP请求”组件:选中“线程组”右键 —> 添加 —> 取样器 —> HTTP请求
  5. 在线程组里面,添加监听器“察看结果树”组件:查看结果,选中“线程组”右键 —> 添加 —> 监听器 —> 察看结果树

最终测试计划中的元件如下:

『动善时』JMeter基础 — 17、JMeter配置元件【HTTP请求默认值】-LMLPHP

点击运行按钮,会提示你先保存该脚本,脚本保存完成后会直接自动运行该脚本。

(3)说明HTTP请求默认值用法

我们需要把每个请求的公共参数,提取到HTTP请求默认值组件中。

如下图所示:

『动善时』JMeter基础 — 17、JMeter配置元件【HTTP请求默认值】-LMLPHP

然后在每个请求的元件中,编辑自己独有的信息即可。

例如,编写每个请求中独有的访问路径,和所需的传递参数等。

如下图所示:

『动善时』JMeter基础 — 17、JMeter配置元件【HTTP请求默认值】-LMLPHP

而在HTTP请求默认值组件中配置的参数,在这里都不用重复填写,留空就可以,会自动的继承HTTP请求默认值组件中的配置。

如果此时请求取样器中填写了和HTTP请求默认值组件中配置相同的选项,则以当前取样器的配置为准。

(其他请求同理)

4、总结

配置元件中的HTTP请求默认值HTTP Request Defaults)界面,和取样器中HTTP请求(HTTP Request)基本相同,所以该组件可以为HTTP请求设置默认值。

优先级说明

  1. JMeter支持在一个测试计划中添加多个HTTP请求默认值组件,多个HTTP请求默认值组件中的值会合并叠加。
  2. 在相同作用域内,若有多个HTTP请求默认值组件,如果配置了相同的选项,默认使用第一个HTTP请求默认值组件中定义的信息。

5、拓展知识

这里我们拓展一下配置元件中用户定义的变量User Defined Variables)组件的用法。

用户定义的变量组件和HTTP请求默认值组件的用法基本一样。

  • HTTP请求默认值组件:管理测试计划中相同的请求配置,作用域范围内的sample请求无需重复配置。
  • 用户定义的变量组件:管理测试计划中不相同的请求配置,其他的Sample请求直接引用变量即可,方便对变量的统一管理。
05-22 23:05