[TOC]
接口测试
接口测试目的
- 确保接口能够正确接收和返回数据
- 验证接口是否实现了预期的功能
接口测试工具
- Postman/Jmeter
测试用例设计
-
与功能测试用例设计方法类似
-
基础验证:
-
发送有效请求,验证返回状态码是否为200
-
验证返回数据格式是否符合约定(JSON/XML)
-
-
参数测试:
-
缺少必填参数
-
参数值为空/null
-
参数值超出范围
-
参数类型不匹配
-
json入参的拼接
- 请求地址:ip地址输入测试环境ip+端口号+接口编码+加密信息
入参body的拼接
- 接口测试使用postman拼接入参,Params--选择raw(入参有的话就复制修改,没有就自己拼接)
- 根据接口文档-一般是看序号,明确参数层级
-
json入参中需要根据数据的逻辑结构和需求来决定使用{}还是[]
- 使用{}的场景:表示一个对象:当需要表示一个具有多个属性的实体时,使用{}
{ "id": 1, "name": "Kimi", "email": "kimi@example.com" }
- 使用{}的场景:嵌套结构:当某个属性的值是一个复杂的数据结构时,使用{}来表示嵌套的对象
{ "id": 1, "name": "Kimi", "address": { "city": "Beijing", "country": "China" } }
- 使用[]的场景:表示一个列表或集合:当需要表示一组有序的值时,使用[]
{ "id": 1, "name": "Kimi", "hobbies": ["reading", "traveling", "coding"] }
- 使用[]的场景:数组中的元素可以是任意类型:数组可以包含不同类型的数据,但通常用于存储同类型的数据
[ { "id": 1, "name": "Kimi" }, { "id": 2, "name": "Alice" } ]
拼接时如何区分使用{}和[]
{} 是对象(Object),[] 是数组(Array)
符号 | 名称 | 用途 | 示例 | 如何取值 |
---|---|---|---|---|
{} |
对象 | 表示一组键值对,键必须是字符串,值可以是任意类型 | {"name":"Tom","age":20} |
用点号或中括号:obj.name 或 obj["name"] |
[] |
数组 | 表示有序列表,元素可以是任意类型(数字、字符串、对象、甚至嵌套数组) | [1,2,3] 或 [{"id":1},{"id":2}] |
用下标(从 0 开始):arr[0] |
-
看到键值对,一定是 {}
- 如:
{"status":200,"data":{...}}
- 如:
-
看到逗号分隔的纯值列表,一定是 []
- 如:
["red","green","blue"]
- 如:
如何区分要配置为数组
- 查看接口文档
- 明确标注为数组type: array:文档中会用 [] 表示数组
- 示例值为数组:即使文档未明确说,如果示例中某个字段的值是[]或包含多个元素,则该字段是数组
- 根据业务逻辑判断
-
是否需要多个值:
- 单个用户地址 → 对象({})
- 多个用户地址 → 数组([{}, {}])
-
是否动态扩展:
- 固定字段(如用户名、密码)→ 对象
- 动态标签(如用户可添加多个标签)→ 数组
- 测试工具验证
-
使用 Postman 发送测试请求:
- 故意传递非数组值(如 "product_ids": 1001)
- 观察错误响应:
{ "error": "Invalid type: expected array, got integer" }
- THE END -
最后修改:2025年8月1日
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://www.qian777.cn/44.html
共有 0 条评论