20230611 接口自动化测试

课堂 ppt

PPT地址

实战内容

知识点梳理

接口测试内容梳理.xmind (63.4 KB)

企业微信新增部门接口测试用例

部门管理接口测试用例.xlsx (14.6 KB)

企业微信凭证获取

通讯录密钥获取方式


进入移动端 app,查看发过来的 secret

接口自动化测试框架封装思路

日志配置

import logging
import os

from test_api.frame.utils.utils import Utils

# 实例化logger对象
logger = logging.getLogger(__name__)

# 判断路径是否存在,不存在就创建
log_path = os.sep.join([Utils.get_frame_root_path(), "logs"])

if not os.path.exists(log_path):
    os.mkdir(log_path)

# 绑定log的handler
file_handler = logging.FileHandler(filename=f"{log_path}/api_object.log", encoding="utf-8")

# 输出的formatter
formatter = logging.Formatter(
    '[%(asctime).19s] %(process)d:%(levelname).1s %(filename)s:%(lineno)d:%(funcName)s: %(message)s]')

# 日志格式与句柄的绑定
file_handler.setFormatter(formatter)

# 控制台句柄定义
steam_handler = logging.StreamHandler()
# 日志格式与句柄的绑定
steam_handler.setFormatter(formatter)

# 与logger进行绑定
logger.addHandler(file_handler)
logger.addHandler(steam_handler)

# 设置展示/写入文件的日志的级别
logger.setLevel(logging.INFO)

使用 yaml 完成数据驱动

- data:
    name: 技术部
    name_en: JISHU1
    parentid: 1
    order: 1
    id: 2
  expect: 0
- data:
    name: ''
    name_en: JISHU2
    parentid: 1
    order: 2
    id: 3
  expect: 40058

整体结构断言

# 自动生成 jsonschema 文件
pip install genson
# 完成 jsonschema 断言
pip install jsonschema

生成 allure 报告

pytest --alluredir=./results --clean-alluredir
allure serve ./results 

课堂代码

课后调查表单

ddd