Jmeter基础知识
- 具备高移植性,可以实现跨平台运行。
- 可以实现分布式负载。
- 采用多线程,允许通过多个线程并发取样或通过独立的线程对不同的功能同时取样。
- 具有较高扩展性。
Jmeter组件及其执行顺序:
- 测试计划:Jmeter测试的起点
- 线程组:代表一定的用户
- 配置元件:配置请求
- 前置处理器:请求之前的操作
- 定时器:请求之前延迟请求
- 逻辑控制器:请求之前处理请求逻辑
- 取样器:发送请求的最小单位
- 后置处理器:请求之后的操作
- 断言:请求之后判断请求结果是否正常
- 监听器:请求之后收集测试结果
Jmeter文件:
backups:备份
bin:存放启动文件,配置文件
docs:离线文档
extras:集成文档
lib:库文件
licenses:许可文件
bin下文件:
Jmeter.bat:启动文件
Jmeter.propties:全局配置文件
目前市面上的三类接口:
- 基于webservice协议接口,通过xml传输数据
- 基于dubbo协议接口,通过json传输数据
- 基于http协议接口,通过json传输数据
json定义:
Json是一种轻量级的数据交换格式,基于ECMAScript的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据
[]多个值,数组
{}对象,键值对时对象的属性
http协议:请求和响应
请求:请求方式、请求路径、请求头、请求数据
响应:响应码、响应信息、响应头、响应数据
主要三大分区
1.功能区:上方菜单栏,下方功能栏
2.视图区:树状结构呈现Jmeter元素
3.内容区:显示元素操作内容
视图区
线程(用户):
setUp线程组:在普通线程组执行之前被触发,类似于loadrunner的init
teardown线程组:在普通线程组执行之后被触发,类似于loadrunner的end
线程组:常用的普通线程,一个线程组可以看做一个虚拟用户组,每个线程之间都是隔离的,互不影响的
配置元件:
CSV Data Set Config(CSV 数据文件设置)
作用:能够在文件中读取一行数据,根据特定的符号切割成一个或多个变量放入内存中
文件名:绝对路径或相对路径,直接写文件名时,文件要放在bin目录下
文件编码:文件读取时的编码格式,不填则使用操作系统的编码格式
变量名称:多个变量名之间必须用分隔线,且使用时通过${字段名}引用读取到的字符串
HTTP信息头管理器
作用:支持用户添加或者重写HTTP请求头,放在测试计划下,可实现跨线程组共享数据
常用请求头:
Connection | keep-alive |
Accept | text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 |
User-Agent | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.60 |
Content-Type | application/x-www-form-urlencoded |
Accept-Language | zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6 |
HTTP Cookie 管理器
作用:管理HTTP请求和响应中的Cookie,手动添加Cookie,这些Cookie会自动添加到后续所有HTTP请求中
standard:标准格式
standard-strict:严格格式
ignoreCookies:此规格忽略所有 Cookie。被用来防止 HttpClient 接受和发送的 Cookie
netscape:是最原始的 Cookies 规范,同时也是 RFC2109 的基础。尽管如此,还是在很多重要的方面与 RFC2109 不同,可能需要特定服务器才可以兼容
default:默认
rfc2109:是 HttpClient 使用的默认 Cookies 协议
rfc2965:定义了版本2并且尝试去弥补在版本1中 Cookie 的 rfc2109 标准的缺点
compatibility:兼容性设计要求是适应尽可能多的不同的服务器,尽管不是完全按照标准来实现的。如果你遇到了解析 Cookies 的问题,你就可能要用到这一个规范
HTTP缓存管理器
作用:过该元件,可模拟浏览器缓存功能,注意是静态缓存(图片等)
HTTP请求默认值
作用:可以设置HTTP请求控制器使用的默认值,放在测试计划下,可实现跨线程组共享数据
常用端口号:
8080端口:WWW代理开放此端口
80端口:http,用于网页浏览,木马Executor开放此端口
443端口:基于TLS/SSL的网页浏览端口,能提供加密和通过安全端口传输的另一种HTTP
常用编码:utf-8
用户定义的变量
作用:通过表达式 ${变量名} 引用变量的值,放在测试计划下,可实现跨线程组共享数据