1.作用:配置元件提供对静态数据的支持。
2.作用域:配置元素只能被元素所在的树枝上的元素访问;子树的配置元件比父级的优先级高。
3.执行顺序:配置元件在它所在层级是第一个执行,即在最开始被执行,在相同范围内的任何取样器之前执行。
HTTP信息头管理器
1.添加“HTTP信息头管理器”
在线程组/测试计划-右键【添加】-配置元件-HTTP信息头管理器
2.使用抓包工具获取请求的HTTP信息头
3.根据抓包获取的HTTP信息头填写
如下图:
1)Authorization带的token值必须传输给请求才能使用户正常访问登录后才有权限访问的内容;这里的token值使用了关联取值。
2)如果是json格式的参数,需要在HTTP信息头管理器中添加Content-Type值为application/json,否则会报错“系统网络异常,请稍后再尝试!”
可以在录制时获取的信息头内容可以不手动传,不能获取的信息头可以继续添加。
二.HTTP Cookie 管理器
1.添加HTTP Cookie 管理器
在线程组/测试计划-右键【添加】-配置元件-HTTP Cookie 管理器
2.抓包获取请求体的cookie信息
chrome浏览器访问时,使用F12-开发者工具抓包,如下使用chrome开发者工具:分别显示了接口的cookie名称、cookie的Value值、域名、路径
这些信息需要从登录接口的返回体中关联获取。
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,表示该路径下的所有请求都可以用。
三.HTTP缓存管理器
1.添加HTTP缓存管理器
在线程组/测试计划-右键【添加】-配置元件-HTTP 缓存管理器
用于模拟浏览器的缓存功能,测试计划运行过程中会使用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请求时将重新请求远程服务器。
5)缓存中元素的最大数量:每个虚拟用户线程都有自己的缓存。默认情况下,缓存管理器在每个虚拟用户线程的缓存中最多存储5000个项目
四.HTTP请求默认值
1.添加HTTP请求默认值
在线程组/测试计划-右键【添加】-配置元件-HTTP 请求默认值
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 授权管理器
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:一个基于共享秘钥对称加密的安全网络认证系统,其避免了密码在网上传输,将密码作为对称加密的秘钥,通过能否解密来验证用户身份。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。