不管是在使用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:

  1. 客户端加密密码成为密码散列;
  2. 客户端向服务端以明文方式发送账号;
  3. 服务端随机产生并发送给客户端一个16位的数字串,作为令牌;
  4. 客户端用密码散列加密令牌,然后将加密后的结果发送给服务端;
  5. 服务端把账号、令牌、4步骤中加密后的结果,一起发送给域控制器;
  6. 域控制器用账号在SAM密码管理器中找到密码散列并用此去加密令牌;
  7. 域控制器对比两次加密后的结果,如果一样,则认证成功。

  该元件的作用不具有叠加效果。

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中主要管理器功用的更多相关文章

  1. Jmeter 中Cookie管理器的使用

    Jmeter中有好几个地方可以管理Cookie,比如 Http Cookie Manager HTTP Header Manager jmeter.property文件中: #CookieManage ...

  2. jmeter 使用cookie管理器

    1.jmeter.properties  中 将CookieManager.save.cookies 设置为true 2.添加一个cookie管理器,什么都不用填 3.把需要用到的请求放到登录后面.后 ...

  3. jmeter之cookies管理器的使用

    作用: 1 发送请求,经常要校验cookies信息  2 针对有的cookie是用的sessionid来进行校验的,这个就需要自己去配置cookie管理器里面的信息,而且sessionid是有时效性的 ...

  4. Jmeter的Cookie管理器调试与参数化

     默认系统都是需要登录,才能操作其它接口,所以需要添加一个HTTP Cookie 管理器,默认Cookie管理器是关闭的,需要修改jmeter配置文件jmeter.properties,该文件在jme ...

  5. JMeter HTTP Cookie管理器的跨域使用

    Jmeter的一个测试计划只能有一个cookie管理器,当多个manager同时存在时,无法指定是用的哪一个manager.如果想让cookie manager跨域使用,修改JMeter.proper ...

  6. Oracle 11g 中恢复管理器RMAN介绍

    这是我平时摘录的笔记,从管理艺术那本书上摘录出来的,放到这里 RMAN 可在数据库服务器的帮助下从数据库内备份数据文件,可构造数据文件映像副本.控制文件和控制文件映像.对当日志 SPFILE 和RMA ...

  7. Jmeter中正则表达式提取器使用详解

    在使用Jmeter过程中,会经常使用到正则表达式提取器提取器,虽然并不直接涉及到请求的测试,但是对于数据的传递起着很大的作用,本篇博文就是主要讲解关于正则表达式及其在Jmeter的Sampler中的调 ...

  8. Jmeter中正则表达式提取器

    在使用Jmeter过程中,会经常使用到正则表达式提取器提取器,虽然并不直接涉及到请求的测试,但是对于数据的传递起着很大的作用,本篇博文就是主要讲解关于正则表达式及其在Jmeter的Sampler中的调 ...

  9. Qt中 布局管理器失效问题

    1 问题描述 在Qt5.12.0 版本中,使用 自动管理器发生,无法生效 2 问题代码 Widget::Widget(QWidget *parent) : QWidget(parent), butto ...

随机推荐

  1. Ubuntu几个常用命令

    命令 > file 重定向,清空file文件 命令 >>file 重定向,不清空文件,在尾部追加 英文对照:

  2. 阿里云OSS的Bucket容量大小采集

    #!/usr/bin/env python3 #-*- coding: utf-8 -*- # 获取阿里云云监控中 OSS 中的bucket 的bucket大小 from aliyunsdkcore. ...

  3. Window7 定制 Explore中的右键菜单

    win+R 命令  运行 regedit ,打开注册表 在  HKEY_CLASSES_ROOT\*\shell\VisualCode下创建针对文件的新增命令 command 在HKEY_CLASSE ...

  4. js手写'Promise'

    /* * pending:初始化成功 * fulfilled:成功 * rejected:失败 * */ function Promise(executor) {// 执行器 this.status ...

  5. FT View SE联合Studio 5000仿真

    ​前言:一个实际的自动化项目,都是综合性的,不仅需要PLC进行逻辑.顺序.运动等控制,还需要在上位机进行监视和操作.当没有物理PLC时,上位机软件就无法连接到实际的变量数据,开发出来的界面和功能无法验 ...

  6. phpinfo

    phpinfo是一个运行指令,为显示php服务器的配置信息.    phpinfo函数是PHP最为常用的配置输出函数.phpinfo函数能够输出服务器PHP当前状态的大量信息,其中包含了PHP的编译选 ...

  7. Python:python抓取豆瓣电影top250

    一直对爬虫感兴趣,学了python后正好看到某篇关于爬取的文章,就心血来潮实战一把吧. 实现目标:抓取豆瓣电影top250,并输出到文件中 1.找到对应的url:https://movie.douba ...

  8. PyCharm 项目删除

    Pycharm 删除项目具体操作如下: 1.选择菜单 File   close project 2.选择要删除的项目右上角选择× 3.找到项目所在目录,删除相应文件夹 之后再次打开pycharm 发现 ...

  9. 多个python版本共存

    windows下多个python版本共存 了解python的人都知道python有2.x版本和3.x版本,而python3.x版本不向下兼容,但是根据具体的需要,有时候要2.x和3.x共存,pytho ...

  10. nginx Access-Control-Allow-Origin 多域名跨域设置

    2019-1-16 12:24:15 星期三 网站的静态文件(js, css, 图片, 字体等)是在一个单独的域名下的, 为了防止非法访问, 给nginx添加了跨域的控制, 也可以在PHP代码中添加 ...