Test Plan的配置元件中有一些和HTTP属性相关的元件:HTTP Cache Manager、HTTP Authorization Manager、HTTP Cookie Manager、HTTP ader Manager、HTTP Request Defaults等,这些元件有什么作用呢?原因是jmeter不是浏览器,因此其行为并不和浏览器完全一致,这些jmeter提供的HTTP属性管理器用于可能模拟浏览器的行为,在HTTP协议层上定制发送给被测应用的HTTP请求。

(1)HTTP Request Default(http请求默认值)
该属性管理器用于设置器作用范围内的所有HTTP请求默认值,可被设置的内容包括HTTP请求的host,端口,协议等,一个Test Plan中可以有多个HTTP Request Defaults,处于多个HTTP Request Default作用域内的sampler使用HTTP Request Default中设置值的叠加值

 

 


(2)HTTP Authentication Manager
该属性管理器用于设置自动对一些需要NTLM验证(NTLM是windows NT早期版本的标准安全协议)的页面进行验证和登录

 

 


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

 

 


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

 

(4)HTTP CookieManager(HTTP Cookie管理器)
该属性管理用于管理TestPlan运行时的所有cookie。(存储在用户本地终端上的数据)HTTP cookie Manager 可以自动存储服务器发送给客户端的所有Cookie,并在发送请求时附件上适合的Cookie。同时,用户也可以在HTTP Cookie Manager中手工添加一些Cookie,这些被手工添加的Cookie会在发送请求时被自动附加到请求

 

注意:jmeter的http cookie manager会为Thread Group中的每个线程设置一个单独的会话区域来管理该线程的所有cookie,也就是说,每个线程的会话cookie是完全独立的(与浏览器行为一致),但是用户在http Cooike manager中手工添加的cookie则被所有线程共享
如果选中clear cookies each iteration? 此项,意味着线程在每次迭代是清除自己会话中的所有cookie

 

(5)HTTP header Manager(HTTP 头文件管理器)

该属性管理器用于定制Sampler发出的http请求的请求头文件的内容,不同的浏览器发出的http请求具有不同的Agent,访问某些有防盗链的页面时需要正确的Refer,,,这些情况下都需要通过http header manager来保证发送的http请求时正确的

 

posted on 2017-07-28 10:32  june☂  阅读(393)  评论(0编辑  收藏  举报