Jmeter使用第二节-接口测试(Mac版)
一、接口请求协议
1、http协议,端口80
2、https协议,端口443
http协议和https协议的区别-CSDN博客
二、接口组成四部分
1、请求方式:get post put delete,区分(接口请求方式get post put delete区分-CSDN博客)
2、请求路径:域名、IP
3、请求参数:字符串参数、表单参数、json 参数、文件参数
4、请求头:accept、cookies、x-requesed-with的对比表
字段 | 核心作用 | 典型值示例 | 用途场景 |
---|---|---|---|
Accept | 声明客户端可接受的响应数据格式 | text/html, application/json | 协商数据格式(HTML/JSON 等) |
Cookies | 传递客户端与服务器间的状态数据 | sessionId=abc123; userId=456 | 保持登录状态、存储用户偏好 |
X-Requested-With | 标识请求的来源类型(如 AJAX) | XMLHttpRequest | 区分 AJAX / 非 AJAX 请求 |
三、接口测试
1、启动jmeter
2、在测试计划下面添加线程组,因为是接口测试,使用默认的1 即可。同时在线程组下增加三个配置元件
3、先配置http请求默认值(开始测试接口,服务器域名是不变的,当从开发环境切换到测试环境,直接修改默认值即可)
当配置默认值后,再创建http请求后,如果域名不变,那么就不需要再填写Web服务器的协议、域名和端口号,直接使用上述中的http请求默认值。在http 请求中,直接写接口的具体路径即可。
4、添加一个监听器-查看结果树,检查接口的请求结果,对比接口文档的返回,即可测试完成
5、对于当前接口为B,请求参数中需要用到上一个接口A的返回的数据时,此时可针对A接口创建一个后置处理器,达到A、B接口实现关联,常用方式有两种(jsonpasth和正则表达式):
(1)jsonpasth ,用于json 体中,某个字段值的提取,使用 $.子节点key,例如:
{
"session":"XXXX",
"id":"YYY"
}
取session的value,写为:$.session,如果需要提取多个参数,那么平级创建多个json提取器即可。
(2)正则表达式:用于返回是html 文本,id=YYY的字段,对应的session值的提取,例如:
<html id="YYY",session="XYZ"/>
取session的value,写为:id="YYY",session="(.*?)"
6、请求头的使用,有一些接口请求,需要带请求头,在接口添加配置元件:http信息头管理器。一般会提供在接口文档,或者自行抓包。