Test Plan的配置元件中有一些和HTTP属性相关的元件:HTTP Cache Manager、HTTP Authorization Manager、HTTP Cookie Manager、HTTP Header Manager、HTTP Request Defaults等,这些是什么呢?

JMeter不是浏览器,因此其行为并不和浏览器完全一致。这些JMeter提供的HTTP属性管理器用于尽可能模拟浏览器的行为,在HTTP协议层上定制发送给被测应用的HTTP请求。

(1)HTTP Request Defaults

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

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

事例

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

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

运行结果

总结:

1、一个测试计划中可以有多个Defaults组件,多个Defaults组件的默认值会叠加,如上图,虽然两个Defaults 组件都定义了参数aaa,但发出的请求还是会叠加起来。

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

事例代码:下载

(2)HTTP Authorization Manager

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

(3)HTTP Cache Manager

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

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

(4)HTTP Cookie Manager

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

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

注意:

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

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

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

(5)HTTP Header Manager

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

最新文章

  1. RestTemplate发送请求并携带header信息
  2. Angular2 入门
  3. SQL、Linq、lamda表达式 同一功能不同写法
  4. 分布式服务框架Zookeeper
  5. 循环冗余检验算法CRC
  6. Unity3D 新人学习的一点感想
  7. 几种CPU架构
  8. 转:自建CDN防御DDoS(1, 2, 3)infoq
  9. angular-fullstack test
  10. 在IAR下移植CC2650 contiki工程
  11. iOS 选择排序
  12. ASP.NET API Helper Page 创建并生成相关帮助文档
  13. U盘中毒后变为快捷方式的解决方法
  14. Deal with Warning: mysqli::__construct(): (HY000/2002)
  15. 2.15 C++常量指针this
  16. 关于syslog日志功能详解 事件日志分析、EventLog Analyzer
  17. MYSQL自动备份策略的选择与实践
  18. Toast 自定义
  19. poj1753Flip Game(dfs)
  20. MarkDown添加图片的三种方式

热门文章

  1. ASP.NET Web API默认支持的媒体类型(SupportedMediaTypes)
  2. mysql oom之后的page 447 log sequence number 292344272 is in the future
  3. java微信开发(wechat4j)——发送客服消息
  4. C#获取网上图片的宽高代码
  5. [js开源组件开发]js手机联动选择地区仿ios 开源git
  6. vundle按照YouComplete
  7. css设置height 100%
  8. ArcGIS制图之Maplex自动点抽稀
  9. VS2015发布Webservice
  10. js事件执行顺序