框架设计
接口自动化使用unittest,结合openpyxl、pymysql等库搭建,采用ddt进行数据驱动。框架分层设计,框架结构(V1)如下所示:
│ readme.md
│ run_test.py
│
├─cases
│ │ test_01.py
│ │ test_02.py
│ │ __init__.py
│
├─common
│ │ handle_conf.py
│ │ handle_email.py
│ │ handle_excel.py
│ │ handle_log.py
│ │ handle_mysql.py
│ │ handle_path.py
│ │ handle_request.py
│ │ handle_re_data.py
│ │ handle_rsa_sign.py
│ │ __init__.py
│
├─conf
│ conf.ini
│
├─data
│ apicases.xlsx
│
├─library
│ │ ddt.py
│ │ HTMLTestRunnerNew.py
│ │ __init__.py
│
├─log
│ apitest.log
│ apitest.log.2020-01-01
│
└─reports
report.html
框架层次可分为业务层、工具层、数据层:
- 业务层:接口测试的主要逻辑,即测试case;
- 工具层:封装与数据库、文档、日志、系统路径、接口请求等交互相关的功能函数,提供给业务层使用;
- 数据层:放置测试用例数据、配置文件信息等。
分层设计解耦了用例与用例数据,使得框架易于维护,同时降低了维护成本。
标准库与三方库
库名 | 类型 | 用途 | 操作 |
unittest | 标准库 | 单元测试框架 | 点击查看 |
维护中 |
工具类
文件名 | 用途 | 操作 |
handle_excel | 操作excel,读取写入测试用例数据 | 点击查看 |
handle_mysql | 操作mysql数据库,用于断言中的数据校验 | 点击查看 |
handle_conf | 操作配置文件,读取写入配置信息 | 点击查看 |
handle_log | 操作日志 | 点击查看 |
handle_request | 操作发送的HTTP请求 | 点击查看 |
handle_path | 操作项目路径 | 点击查看 |
维护中 |