zoukankan      html  css  js  c++  java
  • 七、JMeter实战-配置原件三剑客之-信息头管理器

    一、JMeter配置原件-HTTP信息头管理器


    看一下官方文档介绍
    咋一看,这个解释有点懵。我尝试解释一下,前面我们学过HTTP协议的基础知识,HTTP有请求行,请求头,空一行以及body组成。请求头中比较重要的值是user-agent、content-type以及sign签名等。User-agent声明是通过客户端进行访问。
    HTTP协议发送请求给服务器的时候,会发送请求行、请求头以及请求体等信息。请求中的参数正确,请求不一定执行成功,还要看请求头是否正确。请求头也正确了,这样才能告诉服务器,我们的请求是合法的。



    举个实例:

    JMeter发送的请求,content-type默认的格式是www-form-urlencode格式,如果要发送json格式的请求,那么就要定义信息头管理器。
    看一下禁用学校的请求:


    再对比抓包(有接口文档就不用抓包了)


    请求行和请求体都没有错,但是查看结果树报错了。在这里也总结一下:接口报错要怎么办?

    1.查看结果树

    先看一下“取样器结果”,在里面可以看到大概的信息,然后重点是看请求,一个个对比,看看请求行,请求体,请求头是否都正确了。

    信息头中content-type类型不对,因为禁用的接口,content-type数据类型是json类型,所以要在请求头中加上Content-Type: application/json

    2.最后看一下“响应数据”

    看看响应有什么有用的提示。


    加上信息头管理器后,请求就发送成功了。
    要注意加信息头管理器的位置,如果只想对单个请求起作用,那么信息头管理器就加在请求里面。
    如果信息头管理器放在测试计划下,看图


    这样的话信息头管理器中定义的信息头,线程组中的所以请求都会继承。登录、新建学校、禁用学校的信息头都会继承刚才定义的信息头。
    存在的问题是,登录和新建学校的接口的请求方式是Content-Type: application/x-www-form-urlencoded格式的,这种情况怎么办呢?

    跟请求HTTP请求默认值一样的思路:

    如果接口的请求格式是application/json类型的多,那么信息头管理器就放在测试计划上面,线程组中的请求如果有的请求是application/x-www-form-urlencoded格式的,那么在该请求里面加一个信息头管理器,名称和值填上Content-Type: application/x-www-form-urlencoded即可。

  • 相关阅读:
    国内使用kubeadm部署kubernetes的完整流程
    Paxos协议笔记
    【LLVM笔记】0x00 初识LLVM 链接类型
    TLS 1.0协议
    风险指针(Hazard Pointer) 内存空间共享模型
    LRU算法
    从.git文件夹探析git实现原理
    Python爬虫与一汽项目【三】爬取中国五矿集团采购平台
    Python爬虫与一汽项目【二】爬取中国东方电气集中采购平台
    Python爬虫与一汽项目【一】爬取中海油,邮政,国家电网问题总结
  • 原文地址:https://www.cnblogs.com/wwho/p/14102534.html
Copyright © 2011-2022 走看看