配置元件中带有HTTP的有:
1)HTTP Cache Manager (缓存管理器)
模拟浏览器行为
- Clear cache each iteration? :每次迭代清空缓存
- Use Cache-Control/Expires header when processing GET requests :在处理GET请求时使用缓存/过期信息头
- Max Number of elements in cache :缓存中的最大元素数量,默认5000
- 若Test Plan中某个Sampler请求的元素是被Cache的元素,则Test Plan在运行过程中会直接从Cache中读取该元素,Sampler得到的返回值就会为空。此时,若为该Sampler设置了Assertion检查响应中指定的内容是否存在,对应Assertion就会失败。为test plan增加该属性管理器后,test plan运行过程中会使用Last-Modified、ETag和Expired等决定是否从Cache中获取对应元素。
解决就是勾选Clear cache each iteration清除缓存,使得Assertion检查的内容不是从Cache获取
(1)Cache:一般指的是浏览器的缓存
(2)Last-Modified:文件在服务端最后被修改的时间
(3)ETag:在HTTP协议规格说明中定义为:被请求变量的实体标记
(4)Expired:给出的日期/时间之后;一般结合Last-Modified一起使用,用于控制请求文件的有效时间
(5)大佬解释
- 第二个选项,如果选择了Cache-Control / Explres头选项,则会根据当前时间检查Cache-Control / Explres值。如果请求是GET请求,并且时间戳在将来,则采样器将立即返回,而不从远程服务器请求URL。这是为了模拟浏览器行为
2)HTTP Cookie管理器
用来储存浏览器产生的用户信息。它可以自动储存服务器发送给客户端的所有Cookie,并在请求时附加上合适的Cookie,当然也可以手动添加Cookie,在发送请求的时候会被自动添加到请求中。
- List item
3)HTTP 信息头管理器
可以添加HTTP请求头,设置不同的请求类型
请求头 | 值 |
---|---|
Accept | text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 |
Accept-Encoding | gzip,deflate,br |
Accept-Language | zh-CN,zh;q=0.8 |
Connection | keep-alive |
User-Agent | Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36(KHTML,like Gecko)Chrome/59.0.3071.104 Safari/537.36 |
Content-Type | application/x-www-form-urlencoded :form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式) mutiipart/form-data :需要在表单中进行文件上传时,就需要使用该格式 application/json :JSON数据格式 |
4)HTTP授权管理器(HTTP Authorization Manager)
- 基础URL:需要使用认证页面的URL
- 用户名:用于认证和登录的用户名
- 密码:用于认证和登录的密码
- 域:身份认证页面的域名
- Realm:Realm字串,一般不填
- Mechanism:jmeter的http授权管理器提供的认证机制:
1, BASIC_DIGEST:HTTP协议并没有定义相关的安全认证方面的标准,而BASIC_DIGEST是一套基于http服务端的认证机制,保护相关资源避免被非法用户访问,如果你要访问被保护的资源,则必需要提供合法的用户名和密码。它和HTTPS没有任何关系(前者为用户认证机制,后者为信息通道加密)。
2, KERBEROS:一个基于共享秘钥对称加密的安全网络认证系统,其避免了密码在网上传输,将密码作为对称加密的秘钥,通过能否解密来验证用户身份;
5) HTTP请求默认值(HTTP Request Defaults)
页面是和HTTP请求一样的,用于设置其作用范围内所有的HTTP默认值。值得注意的是:
- 同一个线程组下可以有多个HTTP请求默认值,效果是叠加的
- 不同的线程组内的HTTP请求默认值不会互相影响
- 名称:就是个标识作用,起一个方便认的就行
- 注释:备注
- 服务器名称或IP:就是我们要请求的目标服务器,比如数字类型的:127.0.0.1或者http://www.baidu.com
- 端口号:请求目标的端口号,不填的话默认80
- 协议:http和https,大小写一样,默认http
- Content encoding:编码内容,就是这个:Content-Type=application/json;charset=utf-8
- 路径:请求的URL
- Timeouts(Connect,Response):超时连接配置,单位毫秒,一般不用管
- Parameters:附带参数