图片 6

HTTP属性管理器 初探

 

该属性管理器用于设置其作用范围内的所有HTTP的默认值,可被设置的内容包括HTTP请求的host、端口、协议等。

 
同理,上面这个规则同样适用于config element下面的其它manager:

图片 1

图片 2

图片 3

 

HTTP
请求默认值

 

注意:如果Test
Plan中的某个Sampler请求的元素是被缓存的元素,则Test
Plan在运行过程中会直接从Cache中读取该元素,这样Sampler得到的返回值就会是空。在这种情况下,如果为该Sampler设置了Assertion检查响应体中的制定内容是否存在,该Assertion就会失败。

1)HTTP
Cache Manager

 

一个Test
Plan中可以有多个HTTP Request Defaults,处于多个HTTP Request
Defaults作用域内的Sampler使用HTTP Request
Defaults中设置值的叠加值,如上图:

 

该属性管理器用于管理Test
Plan运行时的所有Cookie。HTTP Cookie
Manager可以自动储存服务器发送给客户端的所有Cookie,并在发送请求时附加上合适的Cookie.

3)HTTP
信息头管理器

4)HTTP
授权管理器

 

同时,用户也可以在HTTP
Cookie
Manager中手工添加一些Cookie,这些被手工添加的Cookie会在发送请求时被自动附加到请求。

 

2)HTTP
Cookie 管理器

为什么会有这些http属性的配置元件?

图片 4

该属性管理器用于定制Sampler发出的HTTP请求的请求头的内容。不同的浏览器发出的HTTP请求具有不同的Agent,访问某些有防盗链的页面时需要正确的Refer…这些情况下都需要通过HTTP
Header Manager来保证发送的HTTP请求是正确的。如下图:

 

HTTP
Cookie Manager

 

5)HTTP
请求默认值

注意:

总结:

 

HTTP
Header Manager

HTTP
Request Defaults2:Server Name or IP:
www.qq.com,两个参数:bbb=222,aaa=333

 

该属性管理器用于模拟浏览器的缓存行为。为Test
Plan增加该属性管理器后,Test
Plan运行过程中会使用Last-Modified、ETag和Expired等决定是否从Cache中获取相应的元素。

 

HTTP
Cache Manager 缓存管理器

图片 5

 

图片 6

两个default中都定义的”Server
Name or
IP”,显示在发送请求时只能使用一个,这里使用的是第一个default定义的值www.baidu.com

 

该属性管理器用于设置自动对一些需要NTLM验证的页面进行认证和登录。如下图:监控tomcat

该属性管理器不用做任何的操作填写,如果在测试计划中添加了这个,那么在执行整个测试计划中会自动存储所有的cookie,在cookie中是看不到的,只有在察看结果树中的请求及界面界面看到被发送的Cookie
Data,一般一个测试计划最好只有一个manager组件,但是可以有多个Defaults组件,因为可以叠加

HTTP
Request Defaults1:Server Name or IP:
www.baidu.com,一个参数:aaa=111

 

 
如果在一个测试计划内有多个Cookie Manager
,Jmeter目前无法指定哪个被使用。所以,一个测试计划内最好只有一个cookie
manager。并且,一个manager里的 cookie
并不能被其它manager所引用。所以在使用多个Cookie Managers
时要谨慎。

原因是JMeter不是浏览器,因此其行为不可能和浏览器一致,通过这些属性尽可能模拟浏览器的行为,在HTTP协议层上定制发送给被测应用的HTTP请求。

案例:

如果选中”Clear
cookies each
iteration?”此项,意味着线程在每次迭代时清除自己会话中的所有Cookie.

HTTP
授权管理器