Pytest实战API测试框架

功能规划

数据库断言 pymysql -> 封装

环境清理 数据库操作 -> Fixtures

并发执行 pytest-xdist 多进程并行

复合断言 pytest-check

用例重跑 pytest-rerunfailures

环境切换 pytest-base-url

数据分离 pyyaml

配置分离 pytest.ini

报告生成 pytest-html, allure-pytest

用例等级 pytest-level

限制用例超时时间 pytest-timeout

发送报告邮件 通过自定Fixture及Hooks实现

安装相应的包

pip安装时可以通过-i https://pypi.doubanio.com/simple/,指定使用豆瓣的源, 下载稍微快一点


pip install requests pymysql pyyaml pytest pyetst-xdist pytest-check pytest-rerunfailures pytest-base-url pytest-html pytest-level pytest-timeout -i https://pypi.doubanio.com/simple/

导出依赖到requirements.txt中


pip freeze > requirments.txt

结构规划

分层结构

分层设计模式: 每一层为上层提供服务


用例层(测试用例)

  |

Fixtures辅助层(全局的数据、数据库操作对象和业务流等)

  |

utils实用方法层(数据库操作, 数据文件操作,发送邮件方法等等)

静态目录

data: 存放数据

reports: 存放报告

目录结构

longteng17/

  - data/

    - data.yaml: 数据文件

  - reports/: 报告目录

  - test_cases/: 用例目录

    - pytest.ini:  pytest配置

    - api_test/:  接口用例目录

      - conftest.py:  集中管理Fixtures方法

    - web_test/:  web用例目录

    - app_test/:  app用例目录

  - utils/: 辅助方法

    - data.py:

联系作者:xiaowanzi02620

Pytest实战API测试框架_第1张图片
图片发自App

你可能感兴趣的:(Pytest实战API测试框架)