- HTTP属性管理器
所谓的http属性管理器,就是发送http请求可以用到的相关配置器,常用的有HTTP信息头管理器、HTTP Cookie管理器、HTTP请求默认值,不常用的有。HTTP Cache Manager、HTTP授权管理器。- HTTP信息头管理器
HTTP信息头管理器简单理解就是用来管理请求头的,像是传递json格式数据的时候添加Content-Type:application/json,以及token认证时需要添加从登录接口获取到的token值添加到header中。
- 注意事项
- 如果信息头管理器放到线程组下,那么线程组下所有 HTTP 请求都会共享这些 HTTP 信息头
- 如果信息头管理器放到 HTTP 请求下,那么只有该请求拥有这些 HTTP 信息头
- 这里和 HTTP 请求默认值一样,也有优先级的,而且优先级也一样
- 当有多个信息头管理器,且不同的管理器内有名称相同的信息头条目存在时,顺序靠前的管理器的信息头条目会覆盖后面的
- HTTP Cookie管理器(一般使用时放在测试计划中即可)
-
参数说明
- Clear cookie each iteration?(每次迭代时清除自己会话区域的所有cookie)
- Implementation:实现方式
- Cookie Policy:cookie的管理策略,建议选择compatibility,兼容性强
-
对于JMeter来说,一个test plan只能有一个cookie管理器。因为当多个magager存在时,JMeter没有方法来指定使用那个manager;同时,一个cookie manager中的存储的cookie也不能被其他cookie manager所引用,所以同一个计划中不建议使用多个cookie manager;
-
如果你想让JMeter的cookie manager支持跨域,修改JMeter.property :CookieManager.check.cookies=false;
-
HTTP cookie Manager管理cookie有两种方法:①、它可以像浏览器一样存储和发送cookie,如果发送一个带cookie的http请求,cookie manager会自动存储该请求的cookies,并且后面如果发送同源站点的http请求时, 都可以用这个cookies;每个线程都有自己的“cookie存储区域”,所以当测试一个使用cookie来管理session信息的web站点时,每个JMeter线程都有自己的session;
-
以这种自动收集的方式收集到的cookie不会在cookie manager中进行展示,但是运行后通过查看结果树可以查看到cookie信息,接受到的cookie会被自动存储在线程变量中,但是从Jmeter2.3.2版本后,默认不再存储,如果你想要manager自动存储收集到 的cookie,你需要修改JMeter.property:CookieManager.save.cookies=true;存储的时候,cookie的key会以“COOKIE_”为前缀命名(默认情况),如果你想自定义这个前缀,修改JMeter.property:CookieManager.name.prefix= ;
-
除了上面说的自动收集,还可以手动添加cookie,点击界面下方的Add按钮,然后输入cookie的相关信息;
-
关于Cookie:
- cookie一般分为2种:持久cookie(Permanent cookie)和会话cookie(Session cookie):
- 持久cookie:保存在客户端本地硬盘上,在浏览器被关闭后仍然存在;
- 会话cookie:通常保存在浏览器进程的会话中,一旦浏览器会话结束或关闭,cookie就不再存在。
-
-
- HTTP请求默认值
-
请求默认值就是在其作用域下所有的http请求都作用存在的默认值。
-
一般常用的就是在测试计划下放一个请求默认值,填写全局的协议、IP地址、和端口号以及Content encording,方便更换部署环境后更改接口的地址和端口号。
-
注意事项:
- 一个测试计划中可以有多个Defaults组件,「多个Defaults组件」的参数默认值会叠加;
- 两个default中都定义的"Server Name or IP",显示在发送请求时只能使用一个;
- HTTP 请求默认值可以直接添加到线程组下面,也可以添加到某个 HTTP 请求下面
- 如果是在线程组下的 HTTP 请求默认值,那么它的作用域就是该线程组下的所有 HTTP 请求,包括子级、孙子级、孙孙子级的 HTTP 请求
- 如果实在某个 HTTP 请求下的 HTTP 请求默认值,那么它的作用域就只针对这个 HTTP 请求
- 线程组的 HTTP 请求默认值的优先级小于HTTP 请求下的 HTTP请求默认值
- 所有 HTTP 请求默认值的优先级都比 HTTP 请求低
-
HTTP 请求所需的各种字段值(host、端口、编码、请求数据等等),取值的顺序(优先级)是:
- HTTP 请求本身设置的值
- HTTP 请求下的 HTTP 请求默认值设置的值
- 线程组下的 HTTP 请求默认值设置的值
-
- HTTP Cache Manager(性能测试模拟真实用户场景)
- HTTP Cache Manager就是缓存管理器,接口测试中几乎不会使用到。
- Clear cache each iteration?(每次迭代清空缓存):如果选择该项,则该属性管理器下的所有Sampler每次执行时都会清除缓存;
- Use Cache-Control/Expires header when processing GET requests:在处理GET请求时使用缓存/过期信息头;
- Max Number of elements in cache(缓存中的最大元素数):默认数值为5000,当然可以根据需要自行修改;
- HTTP Cache Manager就是缓存管理器,接口测试中几乎不会使用到。
- HTTP信息头管理器
4.配置元件之Http属性管理器
最新推荐文章于 2024-09-02 16:40:00 发布