HTTP 请求默认值

HTTP 请求默认值(HTTP Request Defaults)是JMeter 的一种配置元件,用于提取多个 HTTP 请求的重复数据。

它的界面看上去和 HTTP Request 基本一样,为何会出现这种情况?

在实际工作中录制测试脚本时,一个线程组或者测试计划下会存在很多个 HTTP 请求,这些请求中某些数据是一样的,比如协议、IP、端口号等。那么对这些重复一样的数据,在添加 HTTP 请求时,就会感觉很麻烦,所以 HTTP 请求默认值就是在诺干个 HTTP 请求存在重复的内容,把重复的内容提取出来,只需要定义一次就可以了,即使这些数据发生了变化,我们只需修改 HTTP 请求默认值就可以了,无需每个HTTP 请求都得修改。

因为它的界面和 HTTP Request 基本一样,大家可以翻看前面的 HTTP Request ,所以这里就不介绍每个字段的含义了。
位置:线程组 -> 右键 -> 添加 -> 配置元件 -> HTTP 请求默认值image

HTTP 请求默认值可以添加到测试计划下面,也可以添加到线程组下,或者添加到 HTTP 请求下。添加的位置不同,其作用域也不一致:
image

  • 将 HTTP 请求默认值父类是测试计划,其作用域是测试计划下所有 HTTP 请求,即全局范围;

  • 将 HTTP 请求默认值父类是线程组,生效范围是该线程组下所有 HTTP 请求;

  • 将 HTTP 请求默认值父类是 HTTP 请求,则只针对当前 HTTP 请求生效。

生效优先级:HTTP请求自己填写的参数 > HTTP请求下的HTTP请求默认值 > 线程组下的HTTP请求默认值 > 测试计划下的HTTP请求默认值

实例

我们以登录接口为例,看看HTTP请求默认值的实现。

  • 添加 HTTP 请求默认值

  • 把协议和域名提取出来,这样之后的所有 HTTP 请求就不需要重复填写协议和域名了。
    image

  • HTTP 请求设置

  • 已经在HTTP请求默认值中设置的属性,在HTTP请求中就可以不需要填写。
    image

  • 运行查看结果

  • 可以看到请求路径成功取到了HTTP请求默认值设置的协议和域名。

### JMeterHTTP 请求默认值的配置 #### 1. HTTP 请求默认值的作用 HTTP 请求默认值是一种用于简化测试计划设置的重要工具。通过此功能,可以在整个测试计划或特定线程组中预设一些通用参数(如服务器 IP 地址、端口号等),从而减少重复输入这些信息的工作量[^1]。 #### 2. 如何配置 HTTP 请求默认值JMeter 的界面中,可以通过以下方式完成 HTTP 请求默认值的配置: - **添加组件**: 右键点击目标节点(通常是测试计划或线程组),选择 `Add` -> `Config Element` -> `HTTP Request Defaults`。 - **填写字段**: 在弹出的窗口中,可以指定诸如协议 (`https://`, `http://`)、服务器名称/IP地址、端口号以及其他可能需要的路径前缀等内容[^2]。 #### 3. 配置范围的影响 根据放置位置的不同,HTTP 请求默认值会对不同层次的请求生效: - 如果将其置于测试计划根目录下,则所有子线程组内的 HTTP 请求均会继承这些默认值[^4]; - 若仅限于某个具体的线程组内部,则只影响该线程组所涉及的 HTTP 请求操作。 #### 4. 多重配置时的行为逻辑 当存在多个 HTTP 请求默认值实例时,它们之间遵循一定的合并规则来决定最终使用的配置项。具体而言,在相同作用域范围内如果有冲突属性出现的话,默认采用最先定义的那个版本;而对于跨层嵌套的情况则允许上下文间的数据累加组合[^3]。 ```python # 示例 Python 脚本展示如何动态调整 JMeter 测试脚本中的 HTTP 默认值部分 (伪代码示意) from jmeter_api import TestPlan, ThreadGroup, HttpDefaults def setup_jmeter_http_defaults(): test_plan = TestPlan(name="Sample Plan") http_default_settings = HttpDefaults( server_name_or_ip='example.com', port_number=80, protocol='http' ) thread_group_1 = ThreadGroup(name="First Group", num_threads=5) # 将全局 HTTP defaults 添加到测试计划级别 test_plan.add_element(http_default_settings) # 或者限定某些局部区域应用不同的 settings local_http_setting = HttpDefaults(server_name_or_ip='api.example.com', port_number=443, protocol='https') thread_group_1.add_element(local_http_setting) setup_jmeter_http_defaults() ``` 以上代码片段虽然并非真实运行环境下的实现细节,但它形象化展示了如何利用程序控制手段灵活管理各类场景需求下的 HTTP 请求基础设定过程。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值