• jmeter cookie policy说明


    在使用cookie管理器时,没有选择对应的策略 会导致cookie传递不了

    下面来讲一讲这些用法

    作用:用于管理Test plan运行时的所有的cookie。可以手动存储,也可以自动存储;

    每次反复清除cookie?:勾选后将每次请求结束后都会将本次请求产生的cookie进行清除,下次请求时重新获取。

    Cookie Policy:cookie的管理策略。建议选择Standard或Standard strict。这种兼容性设计要求是适应尽可能多的不同的服务器,也就是兼容性更好。

    前边说到既可以自动存储也可以手动添加cookie,两者的区别如下:

    自动存储:自动记录每一个请求所产生的cookie,在后边的同源站点进行请求时都可以使用对应的cookie并发送,它都有自己的存储区域。每一个cookie是完全独立的,即当遇到非同源站点时请求所带的cookie将不一样,其行为与浏览器行为是一致的。

    注:这种自动收集cookie不会在cookie manager中进行展示,但是运行后通过查看结果树可以查看到cookie信息,接受到的cookie会被自动存储在线程变量中,在2.3.2版本之后不再存储,如果你想要manager自动存储收集到 的cookie,你需要修改JMeter.property:CookieManager.save.cookies=true;

    手动存储:手动添加的cookie具有全局性,会在发送请求时自动附加到所有的请求中,即被所有的请求所共享。

    手动添加可以采用两种方式,一、一个一个的慢慢添加;二、直接利用浏览器的插件(如火狐的firebug)导出。然后通过load按钮将cookie进行导入。

    cookie的分类:分为持久cookie和会话cookie;

    持久cookie:持久cookie保存在客户端本地的硬盘中,浏览器关闭后依然存在;

    会话cookie:会话cookie保存的浏览器的进程会话中,浏览器关闭后就随之被清除

    以下是网上搜索的关于httpclient支持的cookies说明:
    以下Cookies标准,HttpClient3.1可以支持。

    1,standard 默认使用, 选择Standard或Standard strict。这种兼容性设计要求是适应尽可能多的不同的服务器,也就是兼容性更好。

    2,RFC2109
    RFC2109是W3C组织第一次推出的官方Cookies标准。理论上,所有使用版本1Cookies的服务端都应该使用此标准。HttpClient已经将此标准设定为默认。
    遗憾的是,许多服务端不正确的实现了标准或者仍然使用Netscape标准。所有有时感到此标准太多于严格。
    RFC2109是HttpClient使用的默认Cookies协议。

    3,RFC2965
    RFC2965定义了版本2并且尝试去弥补在版本1中Cookie的RFC2109标准的缺点。RFC2965是,并规定RFC2965最终取代RFC2109.
    发送RFC2965标准Cookies的服务端,将会使用Set-Cookie2 header添加到Set-Cookie Header信心中,RFC2965 Cookies是区分端口的。

    4,Netscape标准
    Netscape是最原始的Cookies规范,同时也是RFC2109的基础。尽管如此,还是在很多重要的方面与RFC2109不同,可能需要特定服务器才可以兼容。

    5,Browser Compatibility
    这种兼容性设计要求是适应尽可能多的不同的服务器,尽管不是完全按照标准来实现的。如果你遇到了解析Cookies的问题,你就可能要用到这一个规范。
    有太多的web站点是用CGI脚本去实现的,而导致只有将所有的Cookies都放入Request header才可以正常的工作。这种情况下最好设置http.protocol.single-cookie-header参数为true。

    6,Ignore Cookies
    此规格忽略所有Cookie 。被用来防止HttpClient接受和发送的Cookie。

    注:

    • Cookie Policy:cookie策略,从jmeter3.0开始默认是standard,具体是跟服务器端的实现方式有关的,各公司可能不一样,我试用了其它的几个选项都获取不到cookie,只有netscape才能获取到。所以当你获取cookie有问题时,也可以检查一下这个选项。

    • 存储在cookie管理器中的cookie:在这里可以添加用户自定义的cookie,并且会被作用域内的所有线程共享。

    部分内容转自:https://blog.csdn.net/lijing742180/article/details/81158252

    爱生活,更爱给我带来生活的人
  • 相关阅读:
    自己用Django搭建的blog和用户权限
    python实现简单爬虫功能
    异步任务队列Celery在Django中的使用
    Django添加全文搜索功能入门篇
    Django 最好的缓存memcached的使用
    Django中添加富文本编辑器
    Python之Django 访问静态文件
    Django中url的逆向解析 -> Reverse resolution of URLs
    python(Django之html模板继承)
    IOS7以后无需自定义,改变UITabbarItem的图片文字颜色
  • 原文地址:https://www.cnblogs.com/chenyq/p/14291885.html
Copyright © 2020-2023  润新知