接口用例设计和入参拼接

七言 2025-8-1 11 8/1

[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.nameobj["name"]
[] 数组 表示有序列表,元素可以是任意类型(数字、字符串、对象、甚至嵌套数组) [1,2,3][{"id":1},{"id":2}] 用下标(从 0 开始):arr[0]
  • 看到键值对,一定是 {}

    • 如:{"status":200,"data":{...}}
  • 看到逗号分隔的纯值列表,一定是 []

    • 如:["red","green","blue"]

如何区分要配置为数组

  1. 查看接口文档
  • 明确标注为数组type: array:文档中会用 [] 表示数组
  • 示例值为数组:即使文档未明确说,如果示例中某个字段的值是[]或包含多个元素,则该字段是数组
  1. 根据业务逻辑判断
  • 是否需要多个值:

    • 单个用户地址 → 对象({})
    • 多个用户地址 → 数组([{}, {}])
  • 是否动态扩展:

    • 固定字段(如用户名、密码)→ 对象
    • 动态标签(如用户可添加多个标签)→ 数组
  1. 测试工具验证
  • 使用 Postman 发送测试请求:

    • 故意传递非数组值(如 "product_ids": 1001)
    • 观察错误响应:
    {
      "error": "Invalid type: expected array, got integer"
    }
- THE END -

七言

8月01日15:57

最后修改:2025年8月1日
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论