前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jmeter系列(22)- 详解 HTTP 请求默认值

Jmeter系列(22)- 详解 HTTP 请求默认值

作者头像
小菠萝测试笔记
发布2020-06-23 14:42:22
1.4K1
发布2020-06-23 14:42:22
举报
文章被收录于专栏:自动化、性能测试

HTTP 请求默认值界面介绍

乍眼一看,其实跟 HTTP Request 的界面基本一样,少了一点点东西而已,所以这里就不介绍每个字段的含义了,来说下注意事项

重点

  • HTTP 请求默认值可以直接添加到线程组下面,也可以添加到某个 HTTP 请求下面
  • 如果是在线程组下的 HTTP 请求默认值,那么它的作用域就是该线程组下的所有 HTTP 请求,包括子级、孙子级、孙孙子级的 HTTP 请求
  • 如果实在某个 HTTP 请求下的 HTTP 请求默认值,那么它的作用域就只针对这个 HTTP 请求
  • 线程组的 HTTP 请求默认值的优先级小于HTTP 请求下的 HTTP请求默认值
  • 当然啦,所有 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 请求默认值时,除了参数列表或请求体数据是会拼接之外,其他字段值的取值顺序就是按照上述的顺序来走的

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-06-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • HTTP 请求默认值界面介绍
    • 重点
      • 测试计划树结构
      • 第一个 HTTP 请求默认填写的内容
      • 第二个 HTTP 请求默认填写的内容
      • 第三个 HTTP 请求默认填写的内容
      • 看看 Flask-json 的请求体和响应体吧
      • 看看图片文件上传接口的请求体和响应体吧
      • 最后一句话
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档