JMeter-五种管理器和HTTP请求默认值

JMeter提供了五种属性的管理器:HTTP信息头管理器、HTTP Cookie管理器、HTTP缓存管理器、DNS缓存管理器、HTTP授权管理器(目前常使用的有前两种)

  • HTTP Cookie管理器:

对于JMeter来说,一个test plan只能有一个cookie管理器。因为当多个magager存在时,JMeter没有方法来指定使用那个manager;同时,一个cookie manager中的存储的cookie也不能被其他cookie manager所引用,所以同一个计划中不建议使用多个cookie manager;如果你想让JMeter的cookie manager支持跨域, 修改JMeter.property :CookieManager.check.cookies=false;HTTP cookie Manager管理cookie有两种方法:
①、它可以像浏览器一样存储和发送cookie,如果发送一个带cookie的http请求,cookie manager会自动存储该请求的cookies,并且后面如果发送同源站点的http请求时,都可以用这个cookies;每个线程都有自己的“cookie存储区域”,所以当测试一个使用cookie来管理session信息的web站点时,每个JMeter线程都有自己的session;
以这种自动收集的方式收集到的cookie不会在cookie manager中进行展示,但是运行后通过查看结果树可以查看到cookie信息,接受到的cookie会被自动存储在线程变量中,但是从Jmeter2.3.2版本后,默认不再存储,如果你想要manager自动存储收集到 的cookie,你需要修改JMeter.property:CookieManager.save.cookies=true;存储的时候,cookie的key会以“COOKIE_”为前缀命名(默认情况),如果你想自定义这个前缀,修改JMeter.property:CookieManager.name.prefix= ;
②、除了上面说的自动收集,还可以手动添加cookie,点击界面下方的Add按钮,然后输入cookie的相关信息;

cookie一般分为2种:持久cookie(Permanent cookie)和会话cookie(Session cookie):

持久cookie:保存在客户端本地硬盘上,在浏览器被关闭后仍然存在;

会话cookie:通常保存在浏览器进程的会话中,一旦浏览器会话结束或关闭,cookie就不再存在

  • HTTP授权管理器:
元素功能
在每次迭代中清除认证在每次循环迭代中都进行一次认证
Use Thread Group configuration to control clearing与线程组配置共同控制认证的清除
基础URL与一个或者多个HTTP请求部分匹配或完全匹配的的URL
用户名用于认证和登录的用户名
密码用于认证和登录的口令
身份认证界面的域名
realme用于NTLM的Realm
Mechanism机制,jmeter的http授权管理器目前提供2种认证机制:BASIC_DIGEST和KERBEROS

BASIC_DIGEST:HTTP协议并没有定义相关的安全认证方面的标准,而BASIC_DIGEST是一套基于http服务端的认证机制,保护相关资源避免被非法用户访问,如果你要访问被保护的资源,则必需要提供合法的用户名和密码。它和HTTPS没有任何关系(前者为用户认证机制,后者为信息通道加密);
KERBEROS:一个基于共享秘钥对称加密的安全网络认证系统,其避免了密码在网上传输,将密码作为对称加密的秘钥,通过能否解密来验证用户身份;

在这里插入图片描述

  • HTTP缓存管理器:
元素功能
在每次迭代中清除缓存线程每次迭代都会清除缓存
Use Thread Group configuration to control clearing与线程组配置共同控制认证的清除
Use Cache-Control/Expires header when processing GET requests对照当前时间检查“Cache-Control/Expires”值。如果请求是GET请求,并且时间戳记在缓存之后,则取样器将立即返回,而无需从远程服务器请求URL,模拟浏览器的行为
缓存中元素的最大数量每个线程下的缓存最多个数

在这里插入图片描述

如果Test Plan中某个Sampler请求的元素是被缓存的元素,则Test Plan在运行过程中会直接从Cache中读取元素,这样得到的返回值就会是空。在这种情况下,如果为该Sampler设置了断言检查响应体中的指定内容是否存在,该断言就会失败!为test plan增加该属性管理器后,test plan运行过程中会使用Last-Modified、ETag和Expired等决定是否从Cache中获取对应元素。
Cache:一般指的是浏览器的缓存
Last-Modified:文件在服务端最后被修改的时间
ETag:在HTTP协议规格说明中定义为:被请求变量的实体标记
Expired:给出的日期/时间之后;一般结合Last-Modified一起使用,用于控制请求文件的有效时间

  • DNS缓存管理器:
元素功能
在每次迭代中清除缓存每次迭代都清除缓存
Use system DNS revolver将使用系统DNS解析程序。要使它能正确工作,需要编辑$JAVA_HOME/jre/lib/security/java.security并添加networkaddress.cache.ttl=0
Use custom DNS resolver使用自定义DNS解析器(来自dnsjava库)

在这里插入图片描述

  • HTTP请求默认值
    基本配置:配置器请求地址路径
    高级配置:

客户端实现:

Timeouts(milliseconds):
实现: Java,HttpClient4。如果未指定,则默认值取决于JMeter属性JMeter.httpsampler的值,否则将使用Java实现
连接:连接超时。等待连接打开的毫秒数
响应:响应超时,响应的毫秒数

从HTML文件嵌入资源:
从HTML文件获取所有有内含的资源:

该选项被选中时,jmeter在发出HTTP请求并获得响应的HTML文件内容后,还对该HTML进行Parse 并获取HTML中包含的所有资源(图片、flash等),默认不选中;如果用户只希望获取页面中的特定资源,可以在下方的Embedded URLs must match 文本框中填入需要下载的特定资源表达式,这样,只有能匹配指定正则表达式的URL指向资源会被下载。

URLs must match :如果存在,则必须是用于匹配找到的任何嵌入URL的正则表达式。因此,如果您只想从http://example.invalid/,使用以下表达式:http://example.invalid/*
URLs not must match:如果存在,这必须是一个正则表达式,用于筛选出找到的任何嵌入URL。因此,如果您不想从任何源下载PNG或SVG文件,请使用以下表达式:.*\(?i:SVG|PNG)

源地址:
IP/主机名:用于伪装多个ip地址(ip欺骗)发送请求时使用

代理服务器:
Scheme:
Server Name or IP:
Port Number:
Username:
Password:

Optional Tasks:
Save response as MD5 hash:j将响应存储为MD5加密形式

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值