一、接口测试
原因:
- 前后端分离
- 项目一般不是独立的,需要调用外部的项目,项目之间的数据交互通过接口交换
- 安全考虑
测试内容:
USB接口:数据传递的正确性(参数),输出结果的正确性,以及各种容错处理和权限控制
项目接口:参数,结果,容错处理,权限
工具:
Jmeter Postman Apifox Apipost
二、应用安装
官网下载安装包后,去电脑的系统属性设置环境变量,设置成功后可以在cmd输入命令查询版本号。
注意:jmeter基于java环境,需要在电脑搭建jdk。
三、基础组件(元件)
- 测试计划(容器)
- 线程组:1-N用户
- 配置元件:接口配置,协议接口服务器IP,接口服务器端口
- 前置处理器:在接口请求之前的操作
- 逻辑控制器:判断条件成立或循环请求接口
- 定时器:延迟请求接口
- 取样器:发送请求
- 后置处理器:在接口请求之后的操作
- 断言:判断接口是否成功
- 监听器:收集测试结果
组件的作用域:
组件可以作用于父组件(上一级组件)
组件可以作用于兄弟组件(平级组件)
组件可以作用于兄弟组件(平级组件)之下的子组件
四、实战应用
1. 实战场景:
(1)项目规模不大
(2)协同测试 只负责某几个模块的测试
2. 测试计划的基础构成
(1)http请求默认值:切换不同环境(测试,生产等)
https:443 http:80
(2)用户自定义变量
(3)http cookie管理器
(4)请求:
a.请求方式
b.请求参数
查询字符串参数:请求路径后面以?,多个参数&链接或参数
Json参数:消息体数据
文件参数:文件上传
c.请求路径
d.请求头(http信息头管理器)
e.响应:查看结果
注意:access_token每次请求后会改变,非固定
3. 接口关联:下一个接口需要使用上一个接口的access_token参数===接口关联
实现方式:
(1)通过Jsonpath实现(针对接口返回值为json数据格式):
表达式写法:$(根节点) .(子节点)www ${www}
步骤:
a.在第一个接口使用jsonpath(后置处理器)取access_token放入www(变量)
b.在第二个接口使用${www}${变量}代替第一个接口取到的值
查看www取值是否正确的方式:第二个接口请求中或调试取样器(Debugger Sampler)
(2)通过正则表达式实现(针对接口返回值为文本格式):
表达式写法:
左边界+取值+右边界(必须唯一):rame=”kqm_token” value=”(.*?)”
标签:www,请求,接口,参数,测试,组件,软件测试,Jemeter From: https://blog.csdn.net/m0_68899773/article/details/140027113