功能规划
数据库断言 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