一、JMeter Http Cookie Manager的作用: 如果你请求一个站点,然后他的Response中包含Cookie,Cookie Manager就会自动地保存这些Cookie并在所有后来发送到该站点的请求中使用这些Cookie的值。(在View Results Tree的Request界面可以看到被发送的Cookie
Data, 同时每个线程的Cookie Manager是相互独立的)接受到的Cookie的值能被存储到JMeter 线程变量中(2.3.2版本后的JMeter不自动做这个事情)。要把Cookies保存到线程变量中,要在jmeter.properties文件中增加定义属性"CookieManager.save.cookies=true"。 线程变量名为COOKIE_
+ Cookie名。在Debug Sampler中就能看到COOKIE_xxx这样的变量(或者也可以使用正则表达式来提取Cookie的值)。属性CookieManager.name.prefix= 可以用来修改默认的COOKIE_的值。 If selected, all server-defined cookies are cleared each time the main Thread Group loop is executed. In JMeter versions after 2.3, any cookies defined in the GUI are not cleared. Yes , 2,Cookie Policy The cookie policy that
will be used to manage the cookies. "compatibility" is the default,
and should work in most cases. See
http://hc./httpclient-3.x/cookies.html and
http://hc./httpclient-3.x/apidocs/org/apache/commons/httpclient/cookie/CookiePolicy.html
[Note: "ignoreCookies" is equivalent to omitting the CookieManager.]
Yes This gives you the
opportunity to use hardcoded cookies that will be used by all threads during
the test execution. 1. 以下Cookies标准,HttpClient3.1可以支持。 2. RFC2109 3. RFC2109是W3C组织第一次推出的官方Cookies标准。理论上,所有使用版本1Cookies的服务端都应该使用此标准。HttpClient已经将此标准设定为默认。 4. 遗憾的是,许多服务端不正确的实现了标准或者仍然使用Netscape标准。所有有时感到此标准太多于严格。 5. RFC2109是HttpClient使用的默认Cookies协议。 6. 7. RFC2965 8. RFC2965定义了版本2并且尝试去弥补在版本1中Cookie的RFC2109标准的缺点。RFC2965是,并规定RFC2965最终取代RFC2109. 9. 发送RFC2965标准Cookies的服务端,将会使用Set-Cookie2 header添加到Set-Cookie Header信心中,RFC2965 Cookies是区分端口的。 10. 11. Netscape标准 12. Netscape是最原始的Cookies规范,同时也是RFC2109的基础。尽管如此,还是在很多重要的方面与RFC2109不同,可能需要特定服务器才可以兼容。 13. 14. Browser Compatibility 15. 这种兼容性设计要求是适应尽可能多的不同的服务器,尽管不是完全按照标准来实现的。如果你遇到了解析Cookies的问题,你就可能要用到这一个规范。 16. 有太多的web站点是用CGI脚本去实现的,而导致只有将所有的Cookies都放入Request header才可以正常的工作。这种情况下最好设置http.protocol.single-cookie-header参数为true。 17. 18. Ignore Cookies 19. 此规格忽略所有Cookie 。被用来防止HttpClient接受和发送的Cookie。 http://jmeter./usermanual/component_reference.html#HTTP_Cookie_Manager
我们并没有在程序中使用cookie(使用的是session),那么http cookie管理器怎么会起作用呢?这是因为在servlet/jsp规范中对于session的状态跟踪有2种方式: 1
使用cookie,保留和传递sessionid。它不要求程序对于url有什么特殊的处理,但是要求浏览器允许cookie。在这个例子中,就是这种情形。 对于第二种情形,可以使用JMeter前置管理器中的http url重写修饰符来完成。对于Tomcat,Session参数是jsessionid,路径扩展使用";"。 使用url编码时需要注意,必须将浏览器的cookie功能关闭。因为url编码函数,如encodeURL,会判断是否需要将sessionid编码到url中。当浏览器允许cookie时,就不会进行编码。 http://www./html/57/n-93857-2.html
四、对于jmeter的session管理- -
五、补充JMeter资源基础: http://www./a/index.php?name=PNphpBB2&file=viewforum&f=39&sid=dc396bf64d7cf935cf52a52e0970bd11 http://jakarta./jmeter/index.html 1 JMeter作用领域 http://blog.csdn.net/ruluo/archive/2005/10/19/509549.aspx
|
|