小黄的Jmeter笔记

一、Jmeter简介

1、Jmeter 主流开源接口、性能工具
2、postman 接口工具

二、环境搭建

1、jdk环境
1.JAVA_HOME 添加环境变量-用户变量jdk\bin地址
2.CLASSPATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
3.Path 在首项添加;%JAVA_HOME%\BIN;%JAVA_HOME%\JRE\BIN;

配置环境变量

2、Jmeter运行
打开Jmeter\bin\Jmeter.bat

三、Jmeter的操作

1、语言 options-language-chinese
2、保存脚本 Ctrl+s,Jmeter存在闪退、卡死的问题,所以需要随时保存脚本,脚本文件后缀名为:.jmx
接口 API,前端(app、web)与后端(代码)交互的通道
前端去调用接口,用户所看到的界面是接口返回给前端的
接口文档:后端开发把接口信息记录下来,给前端/测试,包括接口作用、如何调用、URL…参数
3、创建http请求
先创建一个线程组:
在这里插入图片描述
然后创建请求:
test plan-添加-threads-线程组-sampler-http请求
在这里插入图片描述
然后输入测试信息:
在这里插入图片描述

4、察看结果树
test plan-添加-监听器-察看结果树:
在这里插入图片描述
然后保存的时候记得保存整个测试计划:
在这里插入图片描述
然后可以在查看结果树中查看是否响应成功。
在这里插入图片描述

5.断言 判断测试的结果是否正确,每个接口都要添加断言
test plan-添加-断言-响应断言
在这里插入图片描述
复制结果树中的成功的代码,千万不要多空格,
在这里插入图片描述
在这里插入图片描述
然后还是保存整个测试计划,运行,没有报错就代表成功了。

如果报错,要排错

1.观察请求数据
① 接口地址
② 请求头 请求头(request header) + 请求主体(参数)
Content-Type:告诉服务器应该用什么格式来解析参数。
application/json:{“username”:“cuckoo”, “password”:“123456”}
2.观察响应数据 响应头(reponse header) + 响应主体 (返回值)
3.判断接口是否正常 绿色:成功 红色:失败
① 200+ 请求正常
② 400+ 请求错误
③ 500+ 服务器报错

5.状态码与结果码的区别
① 状态码 当前接口的工作状态(不可更改)
② 结果码 当前接口的工作结果(开发可自定义,可以修改)
6.结果树排错
① 根据状态码 response code是否为200
② 根据响应数据 status是否为200,判断服务器是否存在bug,提示还挺明显的。
③ 根据接口文档 对比返回数据(样式)
7.断言排错
① 根据状态码 response code是否为200
② 根据断言 查看断言内容
根据断言内容判断响应数据
每个接口都要添加断言
在这里插入图片描述

8.解决乱码问题
添加 BeanShellPostProcessor
然后输入代码:prev.setDataEncoding(“UTF-8”);

四、GET接口与POST接口

1、GET接口
1.协议 http
2.ip地址 132.232.44.158
3.端口号 2333
4.方法 GET
5.路径 /get_title_img
例:http://132.232.44.158:2333/get_title_img
在这里插入图片描述

2、POST接口
1.请求头 目的是指定参数传递的格式。
http请求-添加-配置元件-http信息头管理器
在这里插入图片描述

告诉服务器:接口所传参数为json格式,服务器要用json格式进行解析。
把请求头信息填入。
在这里插入图片描述

2.接口参数

添加到body data

3.乱码 test plan-添加-后置处理器-BeanShell PostProcessor,固定代码:prev.setDataEncoding(“utf-8”);

四、关联

1、关联:前边接口的返回值作为后边请求的参数,
2、用正则表达式建立关联:需要从接口的返回值里调取参数,把提取的值保存到jmeter中。
token :接口测试中的登录凭证,如果获取别人的登录token,则可以修改别人的密码,需要登录操作的请求,都需要token。
正则表达式提取器 (必须在登录接口的子文件夹内)
① 引用名称 token
② 正则表达式 “token”: “(.*?)”, 注:在响应结果内复制粘贴
③ 模板 $ 1 $
3.检验结果
对比登录响应token值与修改密码请求token值是否一致
接下来是操作:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、用户定义变量 test plan-添加-配置元件-用户定义的变量,把相同内容的参数独立、抽象出来,如:http、ip地址

六、为什么要做接口测试?

1、提前发现很多BUG,加快项目测试进度;
2、发现很多前端不能发现BUG;

七、如何做接口测试?

1、设计接口测试用例:
等价类/边界值:
A、登录成功
B、登录失败:
a、账号不存在
b、账号状态 账号被禁用
c、账号格式:
C、正确的账号和错误的密码
D、密码格式

2、方法
直接添加http请求;
使用参数化;

3、参数化:测试用例有相同的请求,只是参数不同
1.方法:引入参数文件 ;引用变量
2.参数化作用:不用重复的修改,可以直接根据编写的data文档来自动执行。简单方便。
3.实现如下:
先编写好想要测试 的内容的文档:
在这里插入图片描述

然后添加CSV数据文件
在这里插入图片描述

然后添加文档,文件编码选择UTF-8,变量名称中间一定要用英文的,隔开,data文档中也是。然后引用变量用${}表示,再去修改就行了,状态码,用例名称也都可以用参数化表示。
在这里插入图片描述

八、Jmeter循环操作

  根据实际情况,自行设计。

实现方法如下:在这里插入图片描述
简单的接口测试工具Jmeter的使用,如果有更深入的学习会继续补充。小黄冲呀!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值