jmeter经常使用配置元件

1.做用:配置元件提供对静态数据的支持。
2.做用域:配置元素只能被元素所在的树枝上的元素访问;子树的配置元件比父级的优先级高。
3.执行顺序:配置元件在它所在层级是第一个执行,即在最开始被执行,在相同范围内的任何取样器以前执行。正则表达式

HTTP信息头管理器

1.添加“HTTP信息头管理器”

在线程组/测试计划-右键【添加】-配置元件-HTTP信息头管理器chrome

2.使用抓包工具获取请求的HTTP信息头

1.png

3.根据抓包获取的HTTP信息头填写

以下图:
1)Authorization带的token值必须传输给请求才能使用户正常访问登陆后才有权限访问的内容;这里的token值使用了关联取值。
2)若是是json格式的参数,须要在HTTP信息头管理器中添加Content-Type值为application/json,不然会报错“系统网络异常,请稍后再尝试!”
image.png
能够在录制时获取的信息头内容能够不手动传,不能获取的信息头能够继续添加。json

二.HTTP Cookie 管理器

1.添加HTTP Cookie 管理器

在线程组/测试计划-右键【添加】-配置元件-HTTP Cookie 管理器小程序

2.抓包获取请求体的cookie信息

chrome浏览器访问时,使用F12-开发者工具抓包,以下使用chrome开发者工具:分别显示了接口的cookie名称、cookie的Value值、域名、路径
image.png浏览器

image.png
这些信息须要从登陆接口的返回体中关联获取。缓存

3.配置HTTP Cookie 管理器

根据抓包获取的请求体中的信息,若是传输内容包含cookie信息如JSESSIONID,则必须将JSESSIONID配置到HTTP Cookie 管理器中,才能使用户正常访问登陆后才有权限访问的内容。
1)选项:安全

  • 每次反复清除Cookies?:每次线程组运行时,都会清除 cookie。
  • Use Thread Group configuration to control cookie clearing:使用线程组的设置来控制清除cookie,建议与线程组设置中的不勾选Same user on each iteration一块儿使用来模拟每次迭代登陆使用不一样session登陆的状况。

2)Cookie策略:建议选择compatibility,兼容性强。服务器

3)存储在Cookie管理器中的Cookiecookie

  • 名称:响应体cookie中的参数名称
  • 值:响应体cookie中的参数值(可能须要正则表达式来关联取得)
  • 域:填写IP或域名
  • 路径:响应体cookie中的Path,表示该路径下的全部请求均可以用。

image.png

三.HTTP缓存管理器

1.添加HTTP缓存管理器

在线程组/测试计划-右键【添加】-配置元件-HTTP 缓存管理器
image.png
用于模拟浏览器的缓存功能,测试计划运行过程当中会使用Last-Modified、ETag和Expired等决定是否从Cache中获取对应元素。网络

  • Cache:通常指的是浏览器的缓存。
  • Last-Modified:文件在服务端最后被修改的时间。
  • ETag:在HTTP协议规格说明中定义为:被请求变量的实体标记。
  • Expired:给出的日期/时间以后;通常结合Last-Modified一块儿使用,用于控制请求文件的有效时间。

2.配置HTTP缓存管理器

1)名称:自定义
2)在每次迭代中清除缓存?:每次线程组运行时,都会清除 cookie。
3)Use Thread Group configuration to control cookie clearing:使用线程组的设置来控制清除cookie。建议与线程组设置中的不勾选Same user on each iteration一块儿使用来模拟每次迭代登陆使用不一样session登陆的状况。
4)Use Cache-Control/Expires header when processing GET requests:对照当前时间检查“Cache-Control/Expires”值。当是GET请求,而且时间戳记在缓存以后,则取样器将当即从缓存中取后返回,而无需从远程服务器请求URL。若是Cache-Control标头为“ no-cache ”,则响应将在过时时存储在缓存中,再次进行GET请求时将从新请求远程服务器。
image.png

image.png
5)缓存中元素的最大数量:每一个虚拟用户线程都有本身的缓存。默认状况下,缓存管理器在每一个虚拟用户线程的缓存中最多存储5000个项目

四.HTTP请求默认值

1.添加HTTP请求默认值

在线程组/测试计划-右键【添加】-配置元件-HTTP 请求默认值
image.png

image.png

2.配置HTTP请求默认值

1)名称:自定义
2)基础

  • Web服务器协议:目标服务器发送请求所采用的协议,HTTP或HTTPS,默认HTTP。
  • Web服务器名称或IP:请求发送的目标服务器名称或地址。
  • Web服务器端口号:目标服务器的端口号,默认80。
  • HTTP请求路径:目标URL路径(不包括服务器地址和端口)。
  • 参数/消息体数据:同请求一块儿发送的参数。

3)高级

  • 客户端实现:
  • 从HTML文件嵌入资源:勾选后,解析HTML文件并发送全部资源请求(包括图片、JAVA小程序、JS、CCS等),默认不选中;能够经过“网址必须匹配(Embedded URLs must match)” 文本框中填入须要下载的特定资源表达式,来匹配指定正则表达式须要下载URL指向资源。
  • 源地址:
  • 代理服务器:代理服务器信息
  • 其余任务-保存响应为MD5哈希:

注意:一个测试计划中能够有多个HTTP请求默认值,多个默认值会被叠加发送。

五.HTTP受权管理器

1.添加HTTP受权管理器

在线程组/测试计划-右键【添加】-配置元件-HTTP 受权管理器
1.png

2.配置HTTP受权管理器

用于设置自动对须要验证的页面进行验证和登陆。
1)选项:

  • 每次反复清除认证?:每次线程组运行时,都会清除认证。
  • Use Thread Group configuration to control clearing:使用线程组的设置来控制清除。

2)存储在受权管理器中的受权:

  • 基础URL:须要使用认证页面的基础URL,当取样器访问它时,jmeter会使用定义的username和password进行认证和登陆。
  • 用户名:用于认证和登陆的用户名。
  • 密码:用于认证和登陆的口令。
  • 域:身份认证页面的域名。
  • Realm:Realm字串。
  • Mechanism:机制。提供4种认证机制:

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