接口新建学习---cookie策略

一、为什么要添加cookie?

模拟浏览器,因为http是无状态协议,像览器一样的存储和发送Cookie,如果发送一个http请求他的响应中包含Cookie,那么Cookie Manager就会自动地保存这些Cookie并在所有后来发送到该站点的请求中使用这些Cookie的值。每个线程都自己存储cookie的区域。

二、jmeter的cookie管理器

jmeter的cookie管理器用来存储cookie

主要是通过其他途径获取有效的用户登录后生成的cookie,放入HTTP Cookie管理中,在后续接口的操作中,请求会自动带上有效的cookie信息,让服务器认为,接口现在的操作是已登录有效用户,从而保证我们接口的正常运行及返回。

1.添加cookie管理器

添加HTTP Cookie管理器,默认就行不用设置

 2.cookie策略

加一个空的cookie manager即可以自动保存cookie,并且能够在同一个线程组之间传递cookie

 策略介绍:

  • compatibility:推荐选择此种策略。这种兼容性设计要求是适应尽可能多的不同的服务器,尽管不是完全按照标准来实现的。如果你遇到了解析 Cookies 的问题,你就可能要用到这一个规范。有太多的web站点是用CGI脚本去实现的,而导致只有将所有的 Cookies 都放入 Request header 才可以正常的工作。这种情况下最好设置http.protocol.single-cookie-header 参数为 true。
  • rfc2109:是HttpClient使用的默认Cookies协议。
  • rfc2965:定义了版本2并且尝试去弥补在版本1中 Cookie 的 RFC2109 标准的缺点。规定 RFC2965 最终取代 RFC2109 发送 RFC2965 标准 Cookies 的服务端,将会使用 Set-Cookie2 header 添加到 Set-Cookie Header 信心中,RFC2965 Cookies 是区分端口的。
  • ignorecookies:此规格忽略所有 Cookie。被用来防止 HttpClient 接受和发送的 Cookie。
  • netscape:是最原始的 Cookies 规范,同时也是 RFC2109 的基础。尽管如此,还是在很多重要的方面与 RFC2109 不同,可能需要特定服务器才可以兼容。
  • default:默认。

此时选的best-match策略,暂定此策略的兼容性比较强,后面详述。

 3.结果

添加完成之后,后面的请求就带着登录的cookie

原文地址:https://www.cnblogs.com/huanlfu/p/11304084.html