HTTP 请求默认值(HTTP Request Defaults)是JMeter 的一种配置元件,用于提取多个 HTTP 请求的重复数据。
它的界面看上去和 HTTP Request 基本一样,为何会出现这种情况?
在实际工作中录制测试脚本时,一个线程组或者测试计划下会存在很多个 HTTP 请求,这些请求中某些数据是一样的,比如协议、IP、端口号等。那么对这些重复一样的数据,在添加 HTTP 请求时,就会感觉很麻烦,所以 HTTP 请求默认值就是在诺干个 HTTP 请求存在重复的内容,把重复的内容提取出来,只需要定义一次就可以了,即使这些数据发生了变化,我们只需修改 HTTP 请求默认值就可以了,无需每个HTTP 请求都得修改。
因为它的界面和 HTTP Request 基本一样,大家可以翻看前面的 HTTP Request ,所以这里就不介绍每个字段的含义了。
位置:线程组 -> 右键 -> 添加 -> 配置元件 -> HTTP 请求默认值
HTTP 请求默认值可以添加到测试计划下面,也可以添加到线程组下,或者添加到 HTTP 请求下。添加的位置不同,其作用域也不一致:
-
将 HTTP 请求默认值父类是测试计划,其作用域是测试计划下所有 HTTP 请求,即全局范围;
-
将 HTTP 请求默认值父类是线程组,生效范围是该线程组下所有 HTTP 请求;
-
将 HTTP 请求默认值父类是 HTTP 请求,则只针对当前 HTTP 请求生效。
生效优先级:HTTP请求自己填写的参数 > HTTP请求下的HTTP请求默认值 > 线程组下的HTTP请求默认值 > 测试计划下的HTTP请求默认值
实例
我们以登录接口为例,看看HTTP请求默认值的实现。
-
添加 HTTP 请求默认值
-
把协议和域名提取出来,这样之后的所有 HTTP 请求就不需要重复填写协议和域名了。
-
HTTP 请求设置
-
已经在HTTP请求默认值中设置的属性,在HTTP请求中就可以不需要填写。
-
运行查看结果
-
可以看到请求路径成功取到了HTTP请求默认值设置的协议和域名。