pytest测试框架
简介
pytest是一个功能很齐全的python单元测试框架,它兼容python自带的unittest测试框架,但更简洁更高效,支持单元测试和复杂的功能测试,可以结合requests实现接口测试,结合selenium,appium实现自动化功能测试。pytest结合allure2集成到jenkins中可以实现持续集成
安装
pip install pytest
用例的识别与运行
用例编写规范
- 测试文件以test_开头或以_test结尾
- 测试类以Test开头,并且不能带有__init__方法
- 测试函数以test_开头
- 断言使用assert
运行参数
- v 打印详细的运行日志
- s 控制台输出结果
- k 只执行含某个关键字的测试用例
- x 遇到失败用例立即停止运行
- –maxfail 用例失败次数达到阈值停止运行
- m 运行标记的测试用例 @pytest.mark.[标记名]
运行模式
- pytest 文件名.py
- pytest 文件名.py::类名
- pytest 文件名.py::类名::方法名
pycharm设置
pytest框架结构
- 模块级(setup_module/teardown_module)在模块末调用
- 函数级(setup_function/teardown_function)在函数末调用
- 类级(setup_class/teardown_class)在类始末调用
- 方法级(setup_method/teardown_method)在方法始末调用(在类中)
- 方法级(setup_method/teardown_method)在方法始末调用
调用顺序
setup_module>setup_class>setup_method>setup>teardown>teardown_method>teardown_class>teardown_module