什么是JMeter
jmeter是100%的java语⾔开发的,它是免费开源的软件,是⾮常优秀的性能测试⼯具和接⼝测试⼯具,⽀持主流 协议的测试
ps【文章末尾给大家留下了大量的福利】
结构
测试计划
测试计划是顶级的层级⽬录的结构,
那么在这样的⽬录结构中,⾥⾯可以包含很多线程组
线程组
线程组我们可以简单的理解为postman测试⼯具⾥⾯的collection,那么在整体线程组⾥⾯,可以添加很多的测试 ⽤例
简单控制器
理解为⼀个⽂件夹,主要是区分不同模块之间
测试⽤例
要素: 1、请求地址
2、请求参数
get请求⽅法 请求参数是query params的,那么它的形式是?key1=value1&key2=value2
post&put请求但是表单数据格式
post&put请求⽅法但是是JSON数据格式&XML的数据格式
post&put请求⽂件上传
3、请求⽅法
4、请求头
请求头是在配置元件⾥⾯的HTTP信息头管理器添加的 怎么添加 右键测试⽤例,然后在配置⽂件中选择HTTP信息头管理器,具体如下:
顺序 ⼀般性的是在HTTP请求的前⾯ 具体加哪些? 互联⽹产品 User-agent Count-type cookie referer ⾃研公司 content-type ⾃定义 为了产品的安全体系考虑,后端会⾃定义部分请求头,那么也是必须加的
测试结果 查看结果树
请求地址&请求参数
请求&响应
响应数据
不同数据格式的展示
测试断⾔
⼀个测试⽤例必须得有断⾔,assert 其实了可以理解为实际结果与期望结果的对⽐
JSON断⾔
就是针对JSON的数据格式来进⾏的 Example1 {"name":"wuya"} name example2 [{"name":"wuya"}] [0].name
JSON Path Assertion 特别强调,⾃带的$.是默认的,不要管
Example1 {"name":"wuya"} $.name example2 [{"name":"wuya"}] $.[0].name
响应断⾔
默认的来验证响应⽂本数据,其实它可以来验证迷糊的匹配
效率提升
HTTP请求默认值
断言结果
编码处理
响应数据编码
修改jmeter配置⽂件jmeter.properties,是在bin⽬录下 请求参数中⽂ 内容编码添加utf-8 重启
动态参数&关联
动态参数描述
解决⽅案
后置处理器中的JSON提取器和正则表达式提取器
变量调⽤ ${变量}
插件安装
生成测试报告
ant构建工具,该构建工具执行的时候依赖于build.xml的文件,在build.xml文件里面会定义具体执行的脚本,执行的顺序,以及测试报告存储的目录。
自动发送邮件,需要三个jar,分别是:activation.jar,commons-email-1.2.jar,mail.jar,这三个文件放在ant的lib目录下
jmeter生成html文件测试报告:
先在jmeter安装的路径下找到bin目录下的jmeter.properties,用记事本打开该文件
修改如下:
修改源文件
jemter接口测试报告怎么整合到Jenkins:
就是在上述步骤的基础上把控制台命令在Jenkins的面
结果
JMETER测试组件
断言:就是对脚本进行断言的
逻辑控制器:就是用来控制脚本运行逻辑的
前置处理器:就是在请求发送之前对请求进行处理
后置处理器:就是在请求之后对响应进行处理
定时器:设置思考时间的一些元件
配置元件:就是对请求做一些配置处理的元件,如:cookie管理、请求默认值等等
HTTP请求默认值:就是将线程组下面请求的重复参数放到请求默认值中,后续所有请求就不需要重复实现该参数设置, 会默认从该元件中获取所有参数值(将大家一样的部分分离出来,
相当于page层)。
HTTP Cookie管理器:jmeter不会自动关联cookie,需要添加cookie管理器来关联cookie。
非测试元件:
HTTP代理服务器:用来录制脚本,要打开浏览器的服务代理器,但是不太可靠。(脚本录制BlazeMeter谷歌插件)
1,自定义变量
定时器
正则表达式,
跟JSON提取器一样都是定义动态参数环境变量,定义访问权限
https://tool.oschina.net/regex 正则表达式在线测试
参数化 1——多用户请求,多线程运行参数化
参数化2——csv文件
记事本
csv文件
重点:学习资料
600g的学习资料懂的都懂
资料领取+v:mashang-qq备注000
编辑
编辑