基于Java的压力测试工具,可以做接口测试,也可以做性能测试。
1-目录介绍
1)backups:脚本备份目录,格式jmx
2)bin目录:存放jmeter的启动脚步,配置文件,模块文件
jmeter.bat 启动Jmeter
jmetet.properties 核心配置文件
3)docs:离线帮助文件
4)extras:存放与第三方的集成构建文件,集成Ant.Jenkins
5)lib目录:存放核心jar包
6) licensce:许可证文件
2-Jmeter常用组件
1)测试计划:起点,所有组件的容器
2)线程组:代表一定数量的用户
3)取样器:像服务器发送请求的最小单元
4)逻辑控制器:结合取样器实现一些复杂的逻辑
5)前置处理器:在请求之前的工作
6)后置处理器:在请求之后的工作
7)断言:用于判断请求是否成功
8)定时器:负责在请求之间的延迟隔离,固定、高斯、随机
9)配置元件:配置信息
10)监听器:负责收集结果
顺序:先执行测试计划》线程组》配置元件》前置处理器》定时器》取样器(请求)》后置处理器》断言》监听器
作用域:important
必须组件:测试计划,线程组,取样器
辅助组件:除必须外,其他均为辅助组件,辅助组件作用于父组件,同级组件,以及同级组件下的所有子组件
3-Jmeter执行接
1)拿到api接口文档,熟悉接口业务,接口地址,鉴权方式,入参,出参,错误码
2)编写测试用例
3)使用接口测试工具执行
4)Jmeter+Ant+Git+Jenkins实现持续集成输出接口测试报告,通过电子邮件发送
4-测试接口关联方式
1)正则表达式[正则表达式提取器](可以作用于任意形式)
2)Jsonpath[Json提取器](只能作用于Json形式)
从根目录(绝对路径)开始找:$.expires_in
从任意目录(相对路径)开始找:$..expires_in
5-动态参数处理
随机数 or 随机字符串
6-断言
文档(文本):返回的json数据以文本的形式去判断
忽略状态:如果有多个断言,有一个断言失败了,另一个成功了,那么结果成功
字符串:响应内容包含需要匹配的字符串,大小写敏感,不支持正则
包括:响应内容包含需要匹配的字符串,大小写敏感,支持正则
匹配:响应内容完全等于需要匹配的字符串,大小写敏感,支持正则
相等:响应内容完全等于需要匹配的字符串,大小写敏感,不支持正则
7-接口测试调试方案
1)通过查看结果树里边的请求信息和响应信息
2)使用调试取样器
3)jmeter结合fiddler实现调试,无接口文档,只能通过抓包去比对
输入本地ip和抓包工具默认的端口号,一般为8888
8-CSV参数化处理
9-必须带请求头的搜索
需要用抓包工具复制请求头信息,在jmeter中添加HTTP信息头管理器
10-Jmeter脚本录制功能—使用Jmeter自带的http代理服务器实现
1)设置端口和录制的位置
2)设置本机的请求通过代理去发送