又来每天进步一点点啦~~~
一、Pytest介绍:
- pytest 是一个非常成熟的全功能的Python测试框架;
- pytest 简单、灵活、易上手;
- 支持参数化
- 能够支持简单的单元测试和复杂的功能测试,可以做接口自动化测试(pytest+requests)
- pytest还有很多第三方插件,也可以自定义扩展
- pytest文档:Full pytest documentation — pytest documentation
- 第三方库:https://pypi.org/search/?q=pytest
二、Pytest的安装
因为我在Pycharm里面安装的,所以本次的介绍都是根据我的安装记录来编辑的,在terminal里面输入命令进行安装
pip install pytest --安装pytest
pip install -U pytest --U表示升级
pip install pytest-xdist --( xdist多任务并发的执行测试用例)
pip install pytest-assume --( assume可以在测试用例里面添加断言,通常是断言出错了就不执行了,但是通过用这个包,就可以即使这个断言出错了,也可以继续执行下一个断言)
pip install pytest-html --( html可以生成html结果报告)
三、Pytest的运行
(1)测试用例的识别:
测试文件:test_*.py 或者 *_test.py
测试用例:Test*类包含的所有test_*的方法,不在class中的所有的test_*方法
(2)测试用例的运行
终端执行:pytest pythonpacka(test*)-v -s --输出详细日志
pytest 文件名.py 执行单独一个pytest模块
pytest 文件名.py::类名 运行某个模块里面的某个类
pytest 文件名.py::类名::方法名 运行某个模块里面某个类里面的方法
pytest -v -k "类名and not方法名" 跳过运行某个测试用例
四、生成测试报告
安装pytest-html,命令行输入:pip install pytest-html
运行测试用例,生成报告:
pytest lengthy_data --html==report.html
查看HTML报告