安装与配置 注:官方建议不要用GUI模式做负载测试,GUI模式限于做脚本开发调试!
结构体系
取样器:
访问路径:测试计划-线程组-取样器
作用:模拟用户操作,向服务器发出http请求、Java请求或者web Service请求等
断言:
访问路径:测试计划-断言
作用:验证结果是否正确
监听器:
访问路径:测试计划-监听器
作用:1、添加结果监听,可以保存文件;
2、展示结果,以表格或者图形的形式
前置处理器:
访问路径:测试计划-前置处理器
作用:环境或者参数的准备工作
使用场景:在对数据库操作前建立一个数据库链接
配置原件:
访问路径:测试计划-配置原件
作用:为取样器提供预备数据
使用场景:1、脚本的参数化配置
2、自动记录服务器的返回数据,入cache信息
后置处理器:
访问路径:测试计划-后置处理器
作用:对响应数据做处理
使用场景:处理服务器的返回结果,利用正则表达式提取器进行登录的SessionID的提取
控制器:
访问路径:测试计划-线程组-逻辑控制器
作用:满足一些场景的逻辑控制需求
使用场景:例如用仅一次控制器控制登录次数
定时器:
访问路径:测试计划-线程组-定时器
作用:满足一些场景的控制需求
使用场景:模拟请求在同一时刻发送,并发负载请求
线程组:
访问路径:测试计划-线程组
作用:一线程代表一个虚拟用户,模拟大量用户负载
测试片段:
访问路径:测试计划-测试片段
作用:可以用来辅助做脚本备份和服用,类似脚本开发中的模块化
运行原理
以线程的方式,建立一个线程池。通过多线程运行取样器来模拟产生大量负载,在运行过程中通过断言来判断结果的正确性,通过监听器来手机记录测试结果。
使用
添加HTTP请求:填写【协议】【服务器名称或IP】【请求方式】【请求路径】注:使用自定义变量或者参数使用${}方式取值
添加用户定义的变量:添加-配置元件-用户定义的变量(一般用于配置公共变量)
添加参数-[参数化-csv]:添加-配置元件-CSV数据文件设置(例如模仿多个用户登录,可将用户名和密码定义为参数传入接口使用)
1、在本地创建文本文件或者excel文件
2、文件中写入参数并用英文逗号隔开,例如userName,num,不同线程参数可用换行符
3、将文件传入jmeter
添加参数-【用户参数】:添加-前置处理器-参数
添加参数-【随机参数】:工具-函数助手对话框
添加请求参数:
HTTP信息头管理器:选中http请求-添加-配置元键-HTTP信息头管理器
正则表达式提取器:选中http请求-添加-后置处理器-正则表达式提取器(提取请求结果中的值)
JSON提取器:选中http请求-添加-后置处理器-JSON提取器
调试取样器:点击线程组-添加-取样器-调试取样器(查看取样器结果)
链接数据库:1、点击线程组-添加-配置元键-JDBC Connection Configuration;2、点击线程组-添加-监听器-JDBC Request 3、添加查看结果树 4、聚合报告
数据监控工具-XAMPP(后续研究)
ANT(构建工具):跨平台,使用java,功能强大,核心是使用一个配置文件执行脚本(bulid.xml)
下载:https://ant.apache.org/bindownload.cgi,解压到指定盘中
配置环境变量:
集成到jmeter:
1、将Jmeter的extras目录中ant-jmeter-1.1.1.jar包拷贝至ant安装目录下的lib目录中
2、修改jmeter的bin目录下jmeter.properties文件的配置:jmeter.save.saveservice.output_format=xml
3、在指定的工作目录下创建文件夹view(jmeter脚本保存的目录),并在其中创建一个build.xml文件并配置注意配置style="E:\jmeter\apache-jmeter-5.5/extras/jmeter-results-detail-report_21.xsl">
4、jmeter配置jmeter.properties
Jenkins集成 注:需要JDK11 or JDK17
安装地址:https://jenkins.io/download/
1、接口联调测试
添加接口a
添加公用变量 点击取样器-配置元件-用户定义变量
添加Json提取器 点击取样器-后置处理器-Json提取器(在$.data.id)
添加接口b
配置参数${testname}
添加调试取样器 线程组-取样器-debug sampler
在调试取样器下面添加查看结果树,查看获取的结果是否展示正确
注:jmeter传入参数不支持数组格式,需要转换成字符串!!!!
MD5、base64加密 工具-函数助手对话框