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. css垂直居中方法盘点
  2. java中获取接口(方法)中的参数名字(eclipse设置编译参数)(java8 javac -parameters)
  3. iOS中通知中心(NSNotificationCenter)的使用总结
  4. SpringMvc异常处理
  5. 【EF学习笔记08】----------加载关联表的数据 显式加载
  6. 清除Cookie、获取指定Cookie的值、添加一个Cookie(24小时过期)、添加一个Cookie
  7. html 5 drag and drop upload file
  8. Java异步调用Future对象
  9. pat L2-006. 树的遍历
  10. CSS3 基础(1)——选择器详解
  11. 为何我会喜欢封闭的apple?
  12. 嵌入式全志V3s荔枝派板卡移植 aircrack-ng
  13. windows server 2008 R2之取消多余的安全配置
  14. WTF小程序之animation
  15. C++函数返回局部变量
  16. confirm("确定要删除吗?") _详解
  17. 00007 - Linux时间date命令详解
  18. C# 如何获取屏幕的截图,以及如何在图像上添加文字
  19. EMbedding
  20. ADALINE小demo

热门文章

  1. LeetCode Word Pattern (模拟)
  2. wireshark使用详解
  3. phpcms站---去除域名绑定目录中的HTML
  4. USB协议-检测设备连接与速度
  5. Phonegap开发的前后台数据交互
  6. 感知机学习算法 python实现
  7. 222. Count Complete Tree Nodes
  8. 不小心误删@‘local’操作恢复
  9. POJ2375 Cow Ski Area (强连通)(缩点)
  10. 转贴:sudo apt-get install 可以安装的一些软件