Jmeter中主要管理器功用
不管是在使用jmeter进行性能测试还是接口自动化测试时经常用到各种管理器进行对参数的处理,但是有时候分不清几种管理器的具体用法,所以做个笔记,列一下吧(所列内容基于版本为3.2)
主要内容包含以下:
1、HTTP Requests Defaults(HTTP默认请求值)
2、HTTP Authorization Manager (HTTP授权管理器)
3、HTTP Cache Manager(HTTP Cache管理器)
4、HTTP cookie Manager(HTTP cookie管理器)
5、HTTP header Manager(HTTP 信息头管理器)
现在对以上5中管理器的功用进行解释说明:
1、HTTP Requests Defaults(HTTP默认请求值)
主要作用:对设置其作用范围内的所有的请求有效,其设置的参数会作用于作用范围内所有的请求。
参数作用说明如下:
名称:自由设置,不影响实际的测试结果,最好具有标题的意义。
web服务器:
协议(Protocol):表示向服务端发送的请求的协议,默认为HTTP,用的较多的是HTTP和HTTPS,可以根据实际情况进行自由填写;
服务器名称或IP(Server Name or IP):填写正常测试时所需要请求的地址的域名或者服务端IP,如:www.beidu.com、192.168.0.100;
端口号(Prot Number):填写服务器名称或者IP对应的访问端口,如:80、8080;
HTTP请求:
路径(Path):填写请求地址中公共的除服务器名称或IP或协议的部分,如:地址http://www.laowang.com/path/name/omaiga?中的/path/name/omaiga部分;
Content encoding(编码): 默认为ISO8859,可以设置为gbk,utf-8;
选择parameters后点击“添加”可以增加输入参数值对的输入框,填写默认公共的HTTP请求主体内容,一次只能填写一个,如图;
选择body Data 后显示的是文本框,可以填写多个参数值对,中间用“&”符号连接,如:usernam=andmin&psw=andmin;
该元件所产生的作用域的效果会叠加,如有两个给元件同时有效,则两个元件对http求将随机发挥作用。
2、HTTP Authorization Manager (HTTP授权管理器)
作用:主要用于对一些需要NTLM(全称:NT LAN Manager,是一种安全协议)验证的页面进行认证和登录;
名称:自由定义,不参与实际请求过程;
clear auth on each iteration? :每次迭代是否清空凭证,如果每次都清空,则在每次请求的的时候都需要重新进行验证;
基础URL(Base URL):指定需要使用NTLM认证的页面基础URL,当请求此页面是就发送相关的验证信息进行页面验证;
用户名(Username):用于认证和登录的用户名,如图中的andmin;
密码(Password):用于认证和登录的口令;
域(Domain):NTLM使用的域名;
Realm:Realm字串;
Mechanism:暂时不理解,不发表阐述。
关于NTLM:
- 客户端加密密码成为密码散列;
- 客户端向服务端以明文方式发送账号;
- 服务端随机产生并发送给客户端一个16位的数字串,作为令牌;
- 客户端用密码散列加密令牌,然后将加密后的结果发送给服务端;
- 服务端把账号、令牌、4步骤中加密后的结果,一起发送给域控制器;
- 域控制器用账号在SAM密码管理器中找到密码散列并用此去加密令牌;
- 域控制器对比两次加密后的结果,如果一样,则认证成功。
该元件的作用不具有叠加效果。
3、HTTP Cache Manager(HTTP Cache管理器)
作用:用来模拟浏览器的Cache行为;
功效:为Test Pian增加给管理器后,Test Pian运行过程中会使用Last-MOdified(最后一次被修改的时间)、ETag(http内容之一。被请求变量的实体值)、Expired(用于控制请求文件的有效时间)等决定是个从Cache中获取相应的元素;
Clear cache each iteration?:每次迭代是否都清空缓存。如果选中,则在每次请求后都会将对应请求产生的缓存进行清除;
Use Cache-Control/Expires header when processing GET requests:在处理GET请求时使用缓存/过期信息头;
Max Number of elements in cache:缓存中最大的元素数。默认5000.可以根据实际需要进行修改。
4、HTTP cookie Manager(HTTP cookie管理器)
作用:用于管理Test plan运行时的所有的cookie。可以手动存储,也可以自动存储;
每次反复清除cookie?:勾选后将每次请求结束后都会将本次请求产生的cookie进行清除,下次请求时重新获取。
Implementation:履行的协议。
Cookie Policy:cookie的管理策略。建议选择Standard或Standard strict。这种兼容性设计要求是适应尽可能多的不同的服务器,也就是兼容性更好。
前边说到既可以自动存储也可以手动添加cookie,两者的区别如下:
自动存储:自动记录每一个请求所产生的cookie,在后边的同源站点进行请求时都可以使用对应的cookie并发送,它都有自己的存储区域。每一个cookie是完全独立的,即当遇到非同源站点时请求所带的cookie将不一样,其行为与浏览器行为是一致的。
注:这种自动收集cookie不会在cookie manager中进行展示,但是运行后通过查看结果树可以查看到cookie信息,接受到的cookie会被自动存储在线程变量中,在2.3.2版本之后不再存储,如果你想要manager自动存储收集到 的cookie,你需要修改JMeter.property:CookieManager.save.cookies=true;
手动存储:手动添加的cookie具有全局性,会在发送请求时自动附加到所有的请求中,即被所有的请求所共享。手动添加可以采用两种方式,一、一个一个的慢慢添加;二、直接利用浏览器的插件(如火狐的firebug)导出。然后通过load按钮将cookie进行导入。
cookie的分类:分为持久cookie和会话cookie;
持久cookie:持久cookie保存在客户端本地的硬盘中,浏览器关闭后依然存在;
会话cookie:会话cookie保存的浏览器的进程会话中,浏览器关闭后就随之被清除
5、HTTP header Manager(HTTP 信息头管理器)
作用:用于定制Sampler发出的HTTP请求的请求头内容
在请求需要一些验证信息时使用的较多,在http请求之前添加一个信息头管理器,将所需的头信息以键值对的显示添加进去,则在后边的HTTP请求发送时则将使用该管理器中的header信息
首先查看请求的头部信息,如下:
将这些请求头放进信息头管理中,就能使你能够更真实的模拟该接口的访问,将这些放进Jmeter中,可以手动一条一条的添加,也可以通过“加载”按钮将信息导入,添加后效果如图
参考博文:老张:https://www.cnblogs.com/imyalost/p/7062440.html
写的比较浅,欢迎留言补全,谢绝copy
Jmeter中主要管理器功用的更多相关文章
- Jmeter 中Cookie管理器的使用
Jmeter中有好几个地方可以管理Cookie,比如 Http Cookie Manager HTTP Header Manager jmeter.property文件中: #CookieManage ...
- jmeter 使用cookie管理器
1.jmeter.properties 中 将CookieManager.save.cookies 设置为true 2.添加一个cookie管理器,什么都不用填 3.把需要用到的请求放到登录后面.后 ...
- jmeter之cookies管理器的使用
作用: 1 发送请求,经常要校验cookies信息 2 针对有的cookie是用的sessionid来进行校验的,这个就需要自己去配置cookie管理器里面的信息,而且sessionid是有时效性的 ...
- Jmeter的Cookie管理器调试与参数化
默认系统都是需要登录,才能操作其它接口,所以需要添加一个HTTP Cookie 管理器,默认Cookie管理器是关闭的,需要修改jmeter配置文件jmeter.properties,该文件在jme ...
- JMeter HTTP Cookie管理器的跨域使用
Jmeter的一个测试计划只能有一个cookie管理器,当多个manager同时存在时,无法指定是用的哪一个manager.如果想让cookie manager跨域使用,修改JMeter.proper ...
- Oracle 11g 中恢复管理器RMAN介绍
这是我平时摘录的笔记,从管理艺术那本书上摘录出来的,放到这里 RMAN 可在数据库服务器的帮助下从数据库内备份数据文件,可构造数据文件映像副本.控制文件和控制文件映像.对当日志 SPFILE 和RMA ...
- Jmeter中正则表达式提取器使用详解
在使用Jmeter过程中,会经常使用到正则表达式提取器提取器,虽然并不直接涉及到请求的测试,但是对于数据的传递起着很大的作用,本篇博文就是主要讲解关于正则表达式及其在Jmeter的Sampler中的调 ...
- Jmeter中正则表达式提取器
在使用Jmeter过程中,会经常使用到正则表达式提取器提取器,虽然并不直接涉及到请求的测试,但是对于数据的传递起着很大的作用,本篇博文就是主要讲解关于正则表达式及其在Jmeter的Sampler中的调 ...
- Qt中 布局管理器失效问题
1 问题描述 在Qt5.12.0 版本中,使用 自动管理器发生,无法生效 2 问题代码 Widget::Widget(QWidget *parent) : QWidget(parent), butto ...
随机推荐
- Java基础--面向对象编程3(继承)
1.继承的作用 为了提取两个类中公共的代码,可以使用继承抽取重复性的代码到一个公共类中. 这个公共的类称为父类(super class),继承于父类的类称为子类(sub class). 2.java继 ...
- [算法竞赛入门经典] 象棋 ACM/ICPC Fuzhou 2011, UVa1589 较详细注释
Description: Xiangqi is one of the most popular two-player board games in China. The game represents ...
- 【FF14】工匠配方爬取
目标:爬取最终幻想14工匠配方到excel表格.(一个装修仔的尊严) 代码: from bs4 import BeautifulSoup import urllib.request import xl ...
- setLocale(java.util.Locale), setCharacterEncoding(java.lang.String),setContentType(java.lang.String type)
对于setCharacterEncoding(java.lang.String),这个方法是javax.servlet.ServletRequest和javax.servlet.ServletResp ...
- webstorm快速输入标签
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- spring对bean的管理细节
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...
- C# 创建Web项目时 可以选择的类型在不同VS版本下的对比
上面这个界面应该是 vs2010的 一. VS2012 .VS2013 其实每个模板的意思,在右边已经显示出来了.Empty,就是一个空的模板,创建后里面除了一个web.config外什么都没有:We ...
- 服务器 隐藏php版本,nginx版本号等
隐藏php版本号: 打开php.ini配置文件 找到 expose_php 关键修改为 off 即可 重启后 web头部就不会有了 隐藏 nginx 服务器版本号: 打开nginx配置文件,在htt ...
- L2-010 排座位 (25 分) (最短路)
链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805066135879680 题目: 布置宴席最微妙的事情,就是给前 ...
- Python字符串的两种方式——百分号方式,format的方式
Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...