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

HTTP信息头管理器

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

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

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

1.png

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

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

二.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管理器中的Cookie

  • 名称:响应体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:一个基于共享秘钥对称加密的安全网络认证系统,其避免了密码在网上传输,将密码作为对称加密的秘钥,通过能否解密来验证用户身份。

yisen
0 声望1 粉丝