16.Jmeter基础--- HTTP 请求默认值

HTTP 请求默认值界面介绍

其实跟 HTTP Request 的界面基本一样

1、HTTP 请求默认值可以直接添加到线程组下面,也可以添加到某个 HTTP 请求下面

2、如果是在线程组下的 HTTP 请求默认值,那么它的作用域就是该线程组下的所有 HTTP 请求,包括2级、3级、4级的 HTTP 请求

3、如果实在某个 HTTP 请求下的 HTTP 请求默认值,那么它的作用域就只针对这个 HTTP 请求

4、线程组的 HTTP 请求默认值的优先级小于HTTP 请求下的 HTTP请求默认值

5、当然啦,所有 HTTP 请求默认值的优先级都比 HTTP 请求低

举个例子吧:测试计划树结构

一个线程组下的 HTTP 请求默认值1,两个 HTTP 请求下的HTTP 请求默认值2、3

第一个 HTTP 请求默认填写的内容,设置了协议、host、端口、编码、参数

第二个 HTTP 请求默认填写的内容,设置了host、端口、路径

第三个 HTTP 请求默认填写的内容,设置了host、编码、参数列表

看看 Flask-json 的请求体和响应体吧

可以看到

  • 【2--请求默认值】里设置的host、端口、路径把【1--请求默认值】设置的覆盖掉了
  • 又因为【1--请求默认值】设置了编码和参数列表,而【2--请求默认值】没有设置,所以直接拿了【1--请求默认值】的值
  • 但有个问题,HTTP 请求本身有设置请求数据(JSON),请求数据是不会被覆盖的,而会把【1--请求默认值】的参数列表和 JSON 数据拼接在一起,拼接后的数据结构是错误的,所以请求会报错
  • 即使 HTTP 请求默认值里面设置的是 JSON 数据,也不会合二为一,仍然会报错(如下图)

说明:

  • 【2--请求默认值】里设置的host、编码把【1--请求默认值】设置的覆盖掉了
  • 而这个 HTTP请求的请求数据是也是参数列表形式传参的,这样就可以拼接成功了
  • 最终会把两个请求默认值的参数列表拼接起来再传递,即使参数名一样,仍然会分开传,而不是覆盖参数值

总结

HTTP 请求所需的各种字段值(host、端口、编码、请求数据等等),取值的顺序(优先级)是:

1、HTTP 请求本身设置的值

2、HTTP 请求下的 HTTP 请求默认值设置的值

3、线程组下的 HTTP 请求默认值设置的值

有多个 HTTP 请求默认值时,除了参数列表或请求体数据是会拼接之外,其他字段值的取值顺序就是按照上述的顺序来走的

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啊Sei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值