JMeter 配置元件之-HTTP Cookie管理器-实现 Cookie 登录

下面以购物App常用的收藏功能为例,讲述如何在 JMeter 中使用 cookie 进行登录态操作。具体的操作步骤如下所示:

 

第一步、录制查看收藏列表的 HTTP请求:

录制查看收藏列表的HTTP请求,只需启动 Fiddler、配置代理、执行查看收藏操作即可,在此不再赘述,谢谢!录制好查看收藏列表的HTTP请求后,脚本页面视图如下所示:

因此时我们没有登录,在脚本中也无对应的 Cookie 存在,假如我们此时运行脚本,那么请求响应将会提示我们未登录,如下所示:

 

第二步、读取 Cookie 配置文件

配置路径:【添加 / 配置元件 / CSV Data Set Config】,读取第一步获取的 Cookie 参数文件中的数据。若不知如何配置,敬请参阅博文:JMeter学习-010-JMeter 配置元件实例之 - CSV Data Set Config 参数化配置,配置完成的读取配置如下所示:

 

第三步、添加 HTTP Cookie管理器:

操作路径:【添加 / 配置元件 / HTTP Cookie管理器】,打开 HTTP Cookie管理器的配置页面,如下图所示:

  1. 名称:对该 Cookie管理器的自定义概述
  2. 注释:对该 Cookie管理器的详细描述
  3. 每次反复清除Cookies?:选择后,则每次线程组运行时,都会清除 cookie。PS:若是手动添加的cookie,则不会被清除。
  4. Implementation:履行的协议。
  5. Cookie Policy: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:默认。

 

第四步、参数化 HTTP Cookie管理器:

利用第二步配置读取的数据,引用其名称,对上步中的 HTTP Cookie管理器,实行参数化,配置完成的 HTTP Cookie管理器如下所示:

 

第五步、添加 Cookie 至 HTTP请求:

将上述配置的 HTTP Cookie管理器,放到相应的 HTTP请求下即可,如下图所示:

 

第六步、执行脚本,查看结果:

我们通过 HTTP 请求的信息可以看出 HTTP Cookie 是否正确添加至 HTTP请求,如下图所示:

脚本执行结果如下所示:

 

附录(一):

 JMeter学习-012-JMeter 配置元件之-HTTP Cookie管理器-实现 Cookie 登录源码
posted @ 2018-05-04 22:20  W-  阅读(836)  评论(0编辑  收藏  举报