接口自动化测试进阶实战

霍格沃兹测试开发学社

ceshiren.com

目录

  • 接口业务流程测试
  • 接口测试框架封装
  • 复杂断言
  • 接口测试框架优化

接口业务流程测试

  • 保障通过进行多个接口的串联操作来完成原有需求中提出的业务逻辑

课堂练习

接口测试框架封装

  • ApiObject 设计模式
    • 封装
    • 分层
    • 把实现和测试用例以及断言进行拆分

课堂练习

  • 完成接口测试代码的分层实现
  • 完成日志添加
  • 完成 allure 报告添加

复杂断言

  • jsonpath:https://github.com/json-path/JsonPath
    • 使用场景:断言的响应字段层级嵌套比较深,或者响应层级可能发生变化
  • jsonschema:https://jsonschema.net
    • 使用场景:断言响应数据结构符合预期的规则
  • 数据库断言:pymysql
    • 使用场景:验证数据操作的实际结果是否正确
# jsonpath
jsonpath(json_obj, "jsonpath 表达式")

# jsonschema
validate(instance=obj, schema=schema)

# 数据库
def query_db(cls, sql, database_info):
    # 连接数据库
    conn = pymysql.Connect(**database_info)
    # 创建游标
    cursor = conn.cursor()
    # 执行 SQL 语句
    cursor.execute(sql)
    # 获取查询结果
    datas = cursor.fetchall()
    print("查询到的数据为:", datas)  # 获取多条数据
    # 关闭连接
    cursor.close()
    conn.close()
    return datas

课堂练习

  • 优化测试用例断言
    • 使用 jsonpath 断言创建部门成功、删除部门成功(部门 id 值是否存在与子部门查询的响应中)
    • 使用 json schema 断言获取子部门 ID 列表接口的响应结构符合预期的规则